Создайте Telegram бота с AI на Python, который запоминает контекст разговора.
Установка
pip install python-telegram-bot openaiПолный код бота
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes
from openai import OpenAI
from collections import defaultdict
# Настройка клиентов
client = OpenAI(
api_key="sk-aitunnel-xxx",
base_url="https://api.aitunnel.ru/v1/"
)
# Хранилище истории диалогов
conversations = defaultdict(list)
MAX_HISTORY = 10
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text(
"Привет! Я AI-бот на базе GPT-5. Задайте мне любой вопрос!"
)
async def clear(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_id = update.effective_user.id
conversations[user_id] = []
await update.message.reply_text("История очищена!")
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_id = update.effective_user.id
user_message = update.message.text
# Добавляем сообщение в историю
conversations[user_id].append({
"role": "user",
"content": user_message
})
# Ограничиваем историю
if len(conversations[user_id]) > MAX_HISTORY * 2:
conversations[user_id] = conversations[user_id][-MAX_HISTORY * 2:]
# Отправляем "печатает..."
await update.message.chat.send_action("typing")
try:
response = client.chat.completions.create(
model="gpt-5.2",
messages=[
{"role": "system", "content": "Ты полезный ассистент. Отвечай кратко и по делу."},
*conversations[user_id]
]
)
assistant_message = response.choices[0].message.content
# Сохраняем ответ в историю
conversations[user_id].append({
"role": "assistant",
"content": assistant_message
})
await update.message.reply_text(assistant_message)
except Exception as e:
await update.message.reply_text(f"Ошибка: {str(e)}")
def main():
app = Application.builder().token("YOUR_BOT_TOKEN").build()
app.add_handler(CommandHandler("start", start))
app.add_handler(CommandHandler("clear", clear))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
print("Бот запущен!")
app.run_polling()
if __name__ == "__main__":
main()Дополнительные функции
Генерация изображений
@app.on_message(filters.command("image"))
async def generate_image(update: Update, context: ContextTypes.DEFAULT_TYPE):
prompt = " ".join(context.args)
response = client.images.generate(
model="gpt-image-1.5",
prompt=prompt,
size="1024x1024"
)
await update.message.reply_photo(response.data[0].url)Ключевые возможности
- Python Telegram Bot
- История диалогов
- Команды бота
- Генерация изображений
- Обработка ошибок
Интегрируйте AI в ваш проект
AITUNNEL предоставляет OpenAI-совместимый API — подключение занимает минуты. Работает с любым фреймворком и языком программирования.
Доступные модели
Часто задаваемые вопросы
AITUNNEL — это сервис, предоставляющий доступ к AI API (OpenAI, Claude, Gemini и другим) в России без VPN. Мы работаем как прокси между вами и провайдерами AI, обеспечивая стабильное соединение и оплату в рублях.
Нет, VPN не нужен. AITUNNEL работает напрямую из России. Все запросы идут на российский сервер api.aitunnel.ru, который затем передаёт их провайдерам AI.
Мы принимаем оплату российскими банковскими картами, через СБП, а также по счёту для юридических лиц. Минимальная сумма пополнения — 299 рублей.
Да, AITUNNEL на 100% совместим с официальным OpenAI SDK. Вам нужно только изменить base_url на https://api.aitunnel.ru/v1/ и использовать ваш API ключ AITUNNEL.
Через AITUNNEL доступны все популярные AI модели: GPT-5.2, GPT-4.1, Claude Sonnet 4.5, Gemini 2.5, DeepSeek V3, Llama 4, FLUX 2 для изображений и многие другие.