纸飞机电报:使用ChatGPT创建Telegram群组自动回复机器人的完整教程

ic_writer tg 34
ic_date 2024-07-08
博客列表

Telegram中文群组中创建一个能够自动回复的ChatGPT机器人涉及多个步骤,包括创建Telegram中文 Bot、配置Bot服务器并集成OpenAI的GPT-3或GPT-4 API。以下是详细步骤:


25393_fpts_4262.jpg


步骤 1: 创建Telegram中文 Bot

  1. 在Telegram中找到BotFather

创建新Bot

  • 发送命令 /newbot

  • 按照指示为你的Bot命名并选择一个唯一的用户名(以bot结尾)。

获取Bot Token

  • 完成创建后,BotFather会提供一个Bot Token。保存这个Token,用于后续配置。


步骤 2: 设置服务器和开发环境

你需要一个服务器来托管你的Bot。可以选择本地服务器或云服务(如Heroku、AWS、Google Cloud等)。

  1. 安装必要的依赖

  • 确保你已经安装了Python和pip。

  • 安装 python-telegram-bot 库和 openai 库。

    sh:
  • pip install python-telegram-bot
    pip install openai

创建并编辑你的Python脚本

python:
import logging
import os
import openai
from telegram import Update, Bot
from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext

# 设置日志记录
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logger = logging.getLogger(__name__)

# 初始化OpenAI API
openai.api_key = 'your_openai_api_key'

# 处理消息的函数
def handle_message(update: Update, context: CallbackContext):
    user_message = update.message.text
    chat_id = update.message.chat_id

    try:
        # 使用OpenAI API生成回复
        response = openai.Completion.create(
            engine="text-davinci-003",
            prompt=user_message,
            max_tokens=150
        )

        bot_reply = response.choices[0].text.strip()
        context.bot.send_message(chat_id=chat_id, text=bot_reply)
    except Exception as e:
        logger.error(f"Error: {e}")
        context.bot.send_message(chat_id=chat_id, text="对不起,我无法处理你的请求。")

# 启动命令的处理函数
def start(update: Update, context: CallbackContext):
    update.message.reply_text('你好,我是ChatGPT机器人。发送消息给我吧!')

# 错误处理函数
def error(update: Update, context: CallbackContext):
    logger.warning(f'Update {update} caused error {context.error}')

def main():
    # Telegram Bot Token
    token = 'your_telegram_bot_token'
    updater = Updater(token, use_context=True)

    dp = updater.dispatcher

    # 添加处理程序
    dp.add_handler(CommandHandler("start", start))
    dp.add_handler(MessageHandler(Filters.text & ~Filters.command, handle_message))
    dp.add_error_handler(error)

    # 启动Bot
    updater.start_polling()
    updater.idle()

if __name__ == '__main__':
    main()


步骤 3: 配置和运行Bot

  1. 替换API Key和Token

  • your_openai_api_key 替换为你的OpenAI API Key。

  • your_telegram_bot_token 替换为你的Telegram Bot Token。

运行Python脚本

sh:

python your_bot_script.py



步骤 4: 将Bot添加到Telegram中文群组

  1. 添加Bot到群组

  • 在Telegram中找到你的Bot,点击“添加到群组”,然后选择你希望Bot加入的群组。

授予管理员权限(可选)

  • 如果需要,授予Bot管理员权限以便它可以访问更多的消息和功能。

结论

通过以上步骤,你可以在Telegram中文群组中创建一个能够自动回复的ChatGPT机器人。这个机器人可以接收消息,并通过调用OpenAI的API生成智能回复。确保妥善保护你的API Key和Token,防止未经授权的访问。