我在学Python!
我正在建立一个机器人,在电子商务搜索产品,机器人将始终发送一个消息,价格由我预定义!
机器人每5分钟进行一次新的搜索,但我不想在下一条消息中再次发送相同的产品,我做了一些研究,但没有找到任何符合我需要的。
对不起,我的英语不好!我希望你明白我的意思。
- 代码:**
def send_to_telegram(message):
apiToken = 'xxxxx'
chatID = '-xxxx'
bot = telebot.TeleBot(apiToken)
if placa and fabricante_1 in marca:
bot.send_message(
chat_id=chatID, text=f"<b>Modelo:</b> {marca} \n<b>Fabricante:</b> {fabricante_1}\n<b>Preço a vista:</b> R$ {valor_preco_avista} \n<b>Preço a prazo:</b> R$ {valor_preco_prazo} \n<b>Loja:</b> {loja} \n\n<b>Link Produto:</b> {url_completa}", parse_mode='HTML')
我尝试了一些模块,如:但最终机器人还是发送了重复的消息。
1条答案
按热度按时间mspsb9vt1#
我设法解决了我的问题,我会把解决方案留给任何人谁有类似的疑问在未来!
为了避免使用Python的Telegram机器人发送重复的消息,可以存储已经发送的消息的记录,并在发送新消息之前检查该记录。
在此代码中,使用pickle模块将sent_messages列表保存到文件中。在发送新消息之前,此代码检查sent_messages_file是否存在。如果存在,则此代码从该文件加载sent_messages列表。如果不存在,则此代码创建一个空的sent_messages列表。在发送消息之后,此代码将更新后的sent_messages列表保存到该文件中。
这样,当您再次运行代码时,它将从文件中加载sent_messages列表,并且只发送以前未发送过的新消息。