Создаём собственного бота ChatGPT
Скачиваем инсталлер Python 3.10 – https://www.python.org/ftp/python
Обязательно выберите опцию - Add Python 3.10 to PATH.
1. Открываем Командную Строку.
2. Прописываем следующую команду:
pip install -U g4f
Данная библиотека отвечает за работу самого ChatGPT. Библиотека имеет более 40к звёздочек на гитхабе.
Ссылка: https://github.com/xtekky/gpt4free
1. Открываем Командную Строку.
2. Прописываем следующую команду:
pip install pyTelegramBotAPI
1. Переходим в @BotFather в Телеграм.
2. Прописываем команду /newbot.
3. Вводим название своего бота.
4. Вводим юзернейм для своего бота.
5. Копируем токен нашего бота для следующего шага.
Пишем бота
Необходимо создать папку в которой будут находиться 2 необходимых нам файла:
import g4f
import telebot
from config import TOKEN, ADMIN_ID
# НАСТРОЙКИ БОТА
bot = telebot.TeleBot(TOKEN, parse_mode=None)
# НАСТРОЙКИ CHAT_GPT
g4f.logging = True
g4f.check_version = False
def ask_gpt(promt) -> str:
response = g4f.ChatCompletion.create(
model="gpt-3.5-turbo",
messages=[{"role": "user", "content": promt}],
stream=True,
)
ans_message = ''
for message in response:
ans_message += message
return ans_message
@bot.message_handler()
def ask_bot(message):
if ADMIN_ID is None:
question = message.text
answer = ask_gpt(question)
bot.reply_to(message, answer)
else:
if message.from_user.id == ADMIN_ID:
question = message.text
answer = ask_gpt(question)
bot.reply_to(message, answer)
else:
bot.reply_to(message, 'Доступ запрещён!')
bot.infinity_polling()
TOKEN = "СКОПИРОВАННЫЙ ТОКЕН ВАШЕГО БОТА ИЗ BOTFATHER" ADMIN_ID = None
ADMIN_ID - нужен для того чтобы бот был приватным и работал только через ваш аккаунт.
Получить id своего аккаунта вы можете тут.
Если же хотите чтобы бот был публичным, оставьте значение данной переменной None.
cd {папка с ботом}
3. После смены директории в cmd прописываем:
python bot.py