程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了全局名称未定义 Telepot大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决全局名称未定义 Telepot?

开发过程中遇到全局名称未定义 Telepot的问题如何解决?下面主要结合日常开发的经验,给出你关于全局名称未定义 Telepot的解决方法建议,希望对你解决全局名称未定义 Telepot有所启发或帮助;

尝试发送消息时,它告诉我聊天 ID 未定义。我能够 answerCallbackquery 因为它需要查询 ID 而不是聊天。 如果我尝试在回调查询区域的 DEF 中输入“chat_ID”,则会引发更多错误

我需要在代码中的哪个位置定义它?

import sys
import time
import os
import telepot
from telepot.loop import MessageLoop
from telepot.namedtuple import InlineKeyboardMarkup,InlineKeyboardbutton

def on_chat_message(msg):
    content_type,chat_type,chat_ID = telepot.glance(msg)
    #creating buttons
    if content_type == 'text':
        if msg['text'] == '/start':
           bot.sendMessage(chat_ID,'Welcome to @UK_Cali Teleshop\n      Created by JonSNow 2021',reply_markup = InlineKeyboardMarkup(inline_keyboard=[
               [InlineKeyboardbutton(text="Feedback",callback_data='a'),InlineKeyboardbutton(text="You",callback_data='b'),InlineKeyboardbutton(text="PGP",callback_data='c'),InlineKeyboardbutton(text="Cunt",callback_data='d')],[InlineKeyboardbutton(text="Products",callback_data='e')]
           ]
       ))
    

def on_callback_query(msg):
    query_ID,from_ID,query_data = telepot.glance(msg,flavor='callback_query')
    print('Callback query:',query_ID,query_data)


    #find callback data
    if query_data == 'a':
    #bot.sendMessage(chat_ID,'dsuhsdd')
    #answerCallbackquery puts the message at top
    bot.answerCallbackquery(query_ID,'products')
        
bot = telepot.Bot('1646167995:AAGsOwfjcryYYkoah69QJ6XGA7koUywmuRk')
MessageLoop(bot,{'chat': on_chat_message,'callback_query': on_callback_query}).run_as_thread()
print('Listening ...')

while 1:
    time.sleep(10)            

解决方法

chat_id 变量是 on_chat_message 的局部变量。 on_callback_query 无权访问它。最 Pythonic 的方法是将它们组合成一个类并将聊天 ID 存储在成员变量中,但您可以通过添加

在这里完成
    global chat_id

作为 on_chat_message 的第一行。您不需要在 on_callback_query 中使用它,因为您不会更改该值,尽管它不会受到伤害。

大佬总结

以上是大佬教程为你收集整理的全局名称未定义 Telepot全部内容,希望文章能够帮你解决全局名称未定义 Telepot所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: