使用个人Telegram账号触发BotMethodInvalidError问题咨询
解决个人Telegram账号触发BotMethodInvalidError的方案
核心排查方向及解决步骤
核对Client初始化代码
创建client时,必须使用个人账号的api_id和api_hash,绝对不能填入机器人token。正确的初始化代码示例:from telethon import TelegramClient api_id = 你的API_ID # 从Telegram开发者后台获取 api_hash = '你的API_HASH' # 同上 phone = '你的绑定手机号' client = TelegramClient('my_personal_session', api_id, api_hash)若误用
TelegramClient('bot_session', '机器人token')这类机器人初始化写法,就会触发机器人权限限制错误。删除残留的会话文件
如果之前用机器人账号运行过代码,生成的.session格式文件会保留旧的认证信息。找到该文件直接删除,重新运行代码后按照提示完成个人账号的登录流程(输入手机号、验证码,必要时输入两步验证密码)。更新Telethon版本
旧版本Telethon可能存在账号类型识别bug,执行下面的命令升级到最新版:pip install --upgrade telethon
补充说明:
GetDialogsRequest接口本身不允许机器人调用,你用个人账号却触发该错误,大概率是会话文件残留了机器人认证信息,或者初始化时误用了机器人token,优先排查前两点即可解决问题。
内容的提问来源于stack exchange,提问作者Danya
相关产品推荐
相关产品推荐

