Как создать телеграмм бота DeepSeek?
Пример бота, который получится в итоге:
https://t.me/deepseek_autobot
Чтобы создать Telegram-бота, который использует API DeepSeek, воспользуемся языком программирования Python с использованием библиотеки python-telegram-bot и DeepSeek API.
Алгоритм создания бота
- Откройте Telegram, найдите @BotFather и создайте нового бота. Получите токен API.
- Зарегистрируйтесь на DeepSeek и получите API-ключ.
- Установите библиотеки 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.