Создаем бота-автоответчика для Telegram на ChatGPT за 10 минут — полное руководство от написания кода скрипта до запуска бота!
TELEGRAM ДЛЯ БИЗНЕСА: ПОЛНОЕ РУКОВОДСТВО ПО СОЗДАНИЮ И ПОДКЛЮЧЕНИЮ БОТА С РАСШИРЕННЫМИ ФУНКЦИЯМИ
В итоге у вас должно получиться так:
Внизу страницы предоставлена полная визуализация рабочего кода
Бот-автоответчик Telegram на ChatGPT
Telegram для бизнеса — это мощный инструмент для взаимодействия с клиентами, который предлагает множество функций для автоматизации и улучшения коммуникации. В этом руководстве мы рассмотрим, как создать и подключить бота для бизнеса в Telegram, который будет поддерживать такие функции, как указание адреса и графика работы, быстрые ответы, автоматические приветствия, ответы в нерабочее время, кастомизация ссылок на чат, настройка вида нового чата и интеграция чат-ботов. Вы получите полное описание и готовый код для реализации.
Также предлагаем вашему внимаю скачать Телеграм Бот для переписки между службой техподдержки и клиентами.
Видео для просмотра:
Полное руководство по созданию и подключению бота
Шаг 1: Создание бота в Telegram
- Откройте Telegram и найдите BotFather.
- Используйте команду
/newbot
, чтобы создать нового бота. - Укажите имя бота (например,
MyBusinessBot
) и username (например,MyBusinessBot_bot
). - Сохраните токен бота, который предоставит BotFather. Он понадобится для подключения к API.
Шаг 2: Установка необходимых библиотек
Для работы с Telegram и OpenAI установите следующие библиотеки:
pip install python-telegram-bot openai |
Шаг 3: Написание кода бота
Ниже приведен полный код бота с поддержкой всех указанных функций:
import os import openai from telegram import Update, ReplyKeyboardMarkup from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, filters, ContextTypes # Установите API-ключ OpenAI и токен Telegram-бота openai.api_key = os.getenv(«OPENAI_API_KEY») TELEGRAM_BOT_TOKEN = os.getenv(«TELEGRAM_BOT_TOKEN») # Настройки бизнеса business_info = { «address»: «ул. Примерная, 123«, «working_hours»: «Пн-Пт: 9:00 — 18:00«, «quick_replies»: { «цена»: «Наши цены можно узнать на сайте tip-top10.ru.«, «контакты»: «Свяжитесь с нами по телефону +7 (123) 456-78-90.« }, «greeting_message»: «Добро пожаловать! Чем мы можем вам помочь?«, «away_message»: «Спасибо за ваше сообщение! Мы ответим вам в рабочее время.« } # Функция для команды /start async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): keyboard = [[«Адрес», «Часы работы»], [«Быстрые ответы», «Ссылка на чат»]] reply_markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True) await update.message.reply_text(business_info[«greeting_message»], reply_markup=reply_markup) # Функция для обработки текстовых сообщений async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE): user_message = update.message.text # Быстрые ответы if user_message.lower() in business_info[«quick_replies»]: await update.message.reply_text(business_info[«quick_replies»][user_message.lower()]) return # Ответы на команды if user_message == «Адрес»: await update.message.reply_text(f»Наш адрес: {business_info[‘address’]}») elif user_message == «Часы работы»: await update.message.reply_text(f»Часы работы: {business_info[‘working_hours’]}») elif user_message == «Ссылка на чат»: await update.message.reply_text(«Ссылка на чат: https://t.me/MyBusinessBot_bot») else: # Ответ с помощью ChatGPT response = openai.ChatCompletion.create( model=»gpt-3.5-turbo», messages=[ {«role»: «system», «content»: «Дружелюбный бот-помощник.«}, {«role»: «user», «content»: user_message} ] ) bot_response = response[‘choices’][0][‘message’][‘content’] await update.message.reply_text(bot_response) # Функция для автоматического ответа в нерабочее время async def auto_reply(update: Update, context: ContextTypes.DEFAULT_TYPE): await update.message.reply_text(business_info[«away_message»]) # Основная функция для запуска бота def main(): application = ApplicationBuilder().token(TELEGRAM_BOT_TOKEN).build() # Регистрация обработчиков application.add_handler(CommandHandler(«start», start)) application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message)) # Запуск бота application.run_polling() if __name__ == «__main__»: main() |
Шаг 4: Настройка функций бота
- Адрес и геопозиция:
- Укажите адрес в переменной
business_info["address"]
. - Для добавления геопозиции используйте метод
sendLocation
из библиотекиpython-telegram-bot
.
- Укажите адрес в переменной
- Часы работы:
- Укажите график работы в переменной
business_info["working_hours"]
.
- Укажите график работы в переменной
- Быстрые ответы:
- Добавьте шаблонные ответы в словарь
business_info["quick_replies"]
.
- Добавьте шаблонные ответы в словарь
- Приветствия:
- Настройте приветственное сообщение в переменной
business_info["greeting_message"]
.
- Настройте приветственное сообщение в переменной
- Ответы в нерабочее время:
- Используйте функцию
auto_reply
для отправки сообщений в нерабочее время.
- Используйте функцию
- Ссылки на чат:
- Укажите ссылку на чат в коде или динамически генерируйте её.
- Вид нового чата:
- Настройте внешний вид чата через Telegram API, используя методы
setChatDescription
иsetChatPhoto
.
- Настройте внешний вид чата через Telegram API, используя методы
- Чат-боты:
- Интегрируйте бота с ChatGPT, как показано в коде выше.
Шаг 5: Запуск бота
1) Установите переменные окружения:
export OPENAI_API_KEY=»ваш_api_ключ« export TELEGRAM_BOT_TOKEN=»ваш_токен_бота« |
2) Запустите скрипт:
python bot.py |