Как создать телеграмм бота DeepSeek?

Пример бота, который получится в итоге: https://t.me/deepseek_autobot

Чтобы создать Telegram-бота, который использует API DeepSeek, воспользуемся языком программирования Python с использованием библиотеки python-telegram-bot и DeepSeek API.

Алгоритм создания бота

  1. Откройте Telegram, найдите @BotFather и создайте нового бота. Получите токен API.
  2. Зарегистрируйтесь на DeepSeek и получите API-ключ.
  3. Установите библиотеки python-telegram-bot и openai:
    bash
    Copy
    pip install python-telegram-bot openai

Пример кода на Python

python
Copy
import requests
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes

# Ваши токены
TELEGRAM_BOT_TOKEN = 'ВАШ_TELEGRAM_BOT_TOKEN'
DEEPSEEK_API_KEY = 'ВАШ_DEEPSEEK_API_KEY'
DEEPSEEK_API_URL = 'https://api.deepseek.com/'  # Пример URL API DeepSeek

# Обработчик команды /start
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("Привет! Я бот, который отвечает на ваши вопросы. Задайте мне что-нибудь!")

# Обработчик текстовых сообщений
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
    user_message = update.message.text

    # Отправляем запрос в API DeepSeek
    headers = {
        "Authorization": f"Bearer {DEEPSEEK_API_KEY}",
        "Content-Type": "application/json"
    }
    data = {
        "prompt": user_message,
        "max_tokens": 150  # Пример параметра
    }

    try:
        response = requests.post(DEEPSEEK_API_URL, headers=headers, json=data)
        response.raise_for_status()  # Проверка на ошибки
        bot_response = response.json().get("choices", [{}])[0].get("text", "Извините, не удалось обработать запрос.")
    except Exception as e:
        bot_response = f"Произошла ошибка: {e}"

    # Отправляем ответ пользователю
    await update.message.reply_text(bot_response)

# Обработчик ошибок
async def error(update: Update, context: ContextTypes.DEFAULT_TYPE):
    print(f"Ошибка: {context.error}")

# Основная функция
def main():
    # Создаем приложение бота
    app = Application.builder().token(TELEGRAM_BOT_TOKEN).build()

    # Регистрируем обработчики
    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
    app.add_error_handler(error)

    # Запускаем бота
    print("Бот запущен...")
    app.run_polling()

if __name__ == "__main__":
    main()

Примечания

Бот принимает команду /start и приветствует пользователя.

Когда пользователь отправляет текстовое сообщение, бот отправляет его в OpenSeek API.

Бот работает в режиме polling, что подходит для небольших проектов. Для масштабирования рассмотрите использование webhooks.