这是电报机器人的代码。我希望机器人在用户输入“ x”或发送“?”表情符号时说“ Hi”。当用户写入x时,此方法有效,但发送?时,则无反应。
我使用pythoneverywhere.com
作为主机,并在其控制台中运行代码。
# -*- coding:utf-8 -*-
#coding=UTF-8
from telegram.ext import Updater, Filters, MessageHandler
from telegram import ParseMode , InputTextMessageContent
from emoji import emojize
updater = Updater("928344838:AAGUaVBq2ZTfqM059MZ1WXRFELb3EaEUkZw")
def msg_filter(bot , update):
words = ['x','?']
if any (i in update.message.text for i in words):
bot.send_message(chat_id = update.message.chat_id , text = "Hi")
updater.dispatcher.add_handler(MessageHandler(Filters.text, msg_filter))
updater.start_polling()
答案 0 :(得分:1)
我猜想python处处或电报正在使用不支持表情符号的编码来显示文本。 Python unicode字符串本机支持表情符号,因此我认为这不是Python问题。