Prerequisites
复制
询问AI
pip install python-telegram-bot openai
Complete code
复制
询问AI
from telegram import Update
from telegram.ext import Application, CommandHandler, MessageHandler, filters, ContextTypes
from openai import OpenAI
TELEGRAM_TOKEN = "YOUR_TELEGRAM_BOT_TOKEN"
client = OpenAI(
api_key="YOUR_ACEDATA_API_KEY",
base_url="https://api.acedata.cloud/v1",
)
async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
await update.message.reply_text("Hi! I'm an AI bot. Send me a message!")
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_message = update.message.text
response = client.chat.completions.create(
model="gpt-4o",
messages=[{"role": "user", "content": user_message}],
)
reply = response.choices[0].message.content
await update.message.reply_text(reply)
def main():
app = Application.builder().token(TELEGRAM_TOKEN).build()
app.add_handler(CommandHandler("start", start))
app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, handle_message))
app.run_polling()
if __name__ == "__main__":
main()
Add conversation memory
复制
询问AI
# Store conversation per user
conversations = {}
async def handle_message(update: Update, context: ContextTypes.DEFAULT_TYPE):
user_id = update.effective_user.id
if user_id not in conversations:
conversations[user_id] = []
conversations[user_id].append({
"role": "user",
"content": update.message.text,
})
response = client.chat.completions.create(
model="gpt-4o",
messages=conversations[user_id],
)
reply = response.choices[0].message.content
conversations[user_id].append({"role": "assistant", "content": reply})
await update.message.reply_text(reply)

