6. Практичне застосування ШІ

6.5. Практична робота: Телеграм-бот

Цей проєкт дозволяє створити Telegram-бота, який відповідатиме на запитання користувачів з гумором, використовуючи штучний інтелект через OpenRouter API.

1. Встановлення бібліотек

У терміналі GitHub Codespace виконайте наступну команду:

pip install telepot openai

2. Отримання токенів

  • Telegram токен:
    • Відкрийте @BotFather у Telegram
    • Створіть нового бота командою /newbot
    • Скопіюйте отриманий токен
  • OpenRouter API ключ:
    • Перейдіть на openrouter.ai
    • Зареєструйтесь або увійдіть
    • У вкладці API Keys створіть новий ключ
    • Скопіюйте ключ

3. Додавання секретів у GitHub Codespaces

У налаштуваннях репозиторію GitHub:

  1. Перейдіть до Settings → Secrets and variables → Codespaces Secrets
  2. Додайте два нові секрети:
Назва Значення
TG_KEY Токен вашого Telegram-бота з BotFather
OPENROUTER_KEY Ваш API ключ із openrouter.ai

4. Створення файлу main.py

Створіть у корені проєкту файл main.py зі наступним вмістом:

import telepot
from telepot.loop import MessageLoop
from openai import OpenAI
import os
from dotenv import load_dotenv

load_dotenv()

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=os.environ["OPENROUTER_KEY"],
)

def message(msg):
    content_type, chat_type, chat_id = telepot.glance(msg)
    print(content_type, chat_type, chat_id)

    completion = client.chat.completions.create(
        model="openai/gpt-4o-mini",
        messages=[
            {"role": "system", "content": "Ти — бот, що відповідає з гумором на запитання."},
            {"role": "user", "content": msg['text']}
        ]
    )

    bot.sendMessage(chat_id, completion.choices[0].message.content)

bot = telepot.Bot(os.environ["TG_KEY"])
MessageLoop(bot, {'chat': message}).run_forever()

5. Запуск бота

У терміналі виконайте:

python main.py

6. Перевірка

  • Відкрийте чат з вашим Telegram-ботом
  • Надішліть будь-яке запитання
  • Бот надасть відповідь з гумором