最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 telebot @bot.message_handler() 中運(yùn)行,即使它保存在 if 語句中

在 telebot @bot.message_handler() 中運(yùn)行,即使它保存在 if 語句中

慕田峪9158850 2023-08-08 10:27:28
我對編碼和 python 比較陌生。我正在嘗試使用遠(yuǎn)程機(jī)器人制作一個電報(bào)機(jī)器人。我有一個必須去的流程。例如:/start 之后,我應(yīng)該收到一條短信。因此,我創(chuàng)建了一個 running_work_list,其中按順序排列我的工作流程,完成后,我刪除索引 0 元素。'start' 是數(shù)組中的第一個元素。所以我嘗試實(shí)現(xiàn)這樣的東西,這樣我就可以輕松地編寫每個步驟,而不是查看輸入并做出決定。但是,盡管放入了 if 語句,即使條件失敗,“@bot.message_handler()”也會運(yùn)行。    if running_work_list[0]=='start':        print('inside if')        @bot.message_handler(commands=['start','new test'])        def start(message):            print('user sent start')            bot.send_message(message.chat.id,welcome_message)            running_work_list.pop(0)            print(f'work flow deciding list {running_work_list}')        @bot.message_handler(content_types=['text','photo','poll'])        def bot_intro(message):            print('here')            print(f'user sent {message.text}')            bot.send_message(message.chat.id,BOT_INTRO_MSG)以下是我得到的輸出。用戶首先發(fā)送了 /start,然后發(fā)送了一些其他隨機(jī)文本。    inside if    user sent start    work flow deciding list ['test_name', 'test_description', 'test_time', 'test_image', 'test_poll']    here    user sent fdf即使我們將“@bot.message_handler()”放在 if 語句中,它也會運(yùn)行嗎?
查看完整描述

1 回答

?
小唯快跑啊

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個贊

執(zhí)行@bot.message_handler裝飾器會標(biāo)記當(dāng)消息與您作為參數(shù)(content_typescommands)傳遞的過濾器匹配時要調(diào)用的函數(shù)。它們由庫直接調(diào)用,注冊后telebot不執(zhí)行語句。if

正確的方法是顛倒邏輯:在程序的頂層定義消息處理函數(shù),并決定在函數(shù)內(nèi)應(yīng)該做什么if。


查看完整回答
反對 回復(fù) 2023-08-08
  • 1 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號