如何让Telegram Bot支持大小写不敏感的消息识别?
问题解决:Telegram Bot 大小写不敏感匹配失效
你当前代码的问题很明确:只把待匹配的字符串"Hello"转成了小写,但未对用户输入的message.text做小写转换,导致用户输入HELLO、hello这类不同大小写的内容时,无法触发匹配逻辑。
修正方案
将用户输入的文本统一转为小写后,再和目标小写字符串对比,修改后的完整代码如下:
import os import telebot from telebot import types # 改用环境变量存储的API_KEY,避免硬编码泄露风险 bot = telebot.TeleBot(os.getenv('API_KEY')) @bot.message_handler(content_types=['text']) def get_user_text(message): # 统一转换用户输入为小写,实现大小写不敏感匹配 user_input = message.text.lower() if user_input == "hello": photo = open('adel.jpg', 'rb') bot.send_photo(message.chat.id, photo) elif user_input == "id": bot.send_message(message.chat.id, f"your ID: {message.from_user.id}", parse_mode='html') elif user_input == "how are you?": bot.send_message(message.chat.id,'I am fine , and you ?' ) else: bot.send_message(message.chat.id," I don't understand any fucking shit ", parse_mode='html')
额外优化提示
- 不要硬编码Bot Token,始终使用环境变量读取密钥,提升代码安全性。
- 可以把所有待匹配的目标文本统一设为小写,减少重复转换操作。
内容的提问来源于stack exchange,提问作者Neno Anas
相关产品推荐
相关产品推荐

