Telegram 机器人甚至回复随机文本
Telegram bot replies even on random texts
我正在创建一个可以用随机语言回复 Hello
的 Telegram 机器人。工作正常但问题是即使我随机发送一些没有意义的东西它也会回复 sfdsfjls
.
我应该怎么做才能让它只在我说 Hi
或 Hello
时回复,而在我随机发送内容时回复 I don't get it
之类的内容。
我正在使用 pytelegrambotapi
。
我的代码:
import telebot
import random
bot_token =''
bot= telebot.TeleBot(token=bot_token)
lang1= ['Hola','Konnichiwa','Bonjour','Namaste']
# Handle normal messages
@bot.message_handler()
def send_welcome(message):
# Detect 'hi'
if message.text == 'hi' or 'hello':
bot.send_message(message.chat.id, (random.choice(lang1)))
你需要
if message.text == 'hi' or message.text == 'hello':
而不是关闭
if message.text == 'hi' or 'hello':
因为 or 'hello'
部分将 总是 导致 TRUE
,你可以 test here.
另一个选项,检查 if a string matches any other string 可能看起来像这样:
triggers = {'hi', 'hello'}
if message.text in triggers:
应用这些修复,并添加额外的检查 得到以下代码:
import telebot
import random
bot_token =''
bot= telebot.TeleBot(token=bot_token)
lang1= ['Hola','Konnichiwa','Bonjour','Namaste']
# Handle normal messages
@bot.message_handler()
def send_welcome(message):
# Detect Messages
if message.text == 'hi' or message.text == 'hello':
bot.send_message(message.chat.id, (random.choice(lang1)))
elif message.text == 'Test':
bot.send_message(message.chat.id, 'Test succeeded')
else:
bot.send_message(message.chat.id, 'Sorry I don\'t get it!')
我正在创建一个可以用随机语言回复 Hello
的 Telegram 机器人。工作正常但问题是即使我随机发送一些没有意义的东西它也会回复 sfdsfjls
.
我应该怎么做才能让它只在我说 Hi
或 Hello
时回复,而在我随机发送内容时回复 I don't get it
之类的内容。
我正在使用 pytelegrambotapi
。
我的代码:
import telebot
import random
bot_token =''
bot= telebot.TeleBot(token=bot_token)
lang1= ['Hola','Konnichiwa','Bonjour','Namaste']
# Handle normal messages
@bot.message_handler()
def send_welcome(message):
# Detect 'hi'
if message.text == 'hi' or 'hello':
bot.send_message(message.chat.id, (random.choice(lang1)))
你需要
if message.text == 'hi' or message.text == 'hello':
而不是关闭
if message.text == 'hi' or 'hello':
因为 or 'hello'
部分将 总是 导致 TRUE
,你可以 test here.
另一个选项,检查 if a string matches any other string 可能看起来像这样:
triggers = {'hi', 'hello'}
if message.text in triggers:
应用这些修复,并添加额外的检查
import telebot
import random
bot_token =''
bot= telebot.TeleBot(token=bot_token)
lang1= ['Hola','Konnichiwa','Bonjour','Namaste']
# Handle normal messages
@bot.message_handler()
def send_welcome(message):
# Detect Messages
if message.text == 'hi' or message.text == 'hello':
bot.send_message(message.chat.id, (random.choice(lang1)))
elif message.text == 'Test':
bot.send_message(message.chat.id, 'Test succeeded')
else:
bot.send_message(message.chat.id, 'Sorry I don\'t get it!')