如何解决Telethon 不允许机器人加入频道您尝试调用的方法无法作为机器人执行由 JoinChannelRequest 引起
我是 Telethon 的新手,但我仍然有疑问。
我的任务似乎很简单:我想创建一个机器人来抓取频道中的一些信息,但我在第一步中陷入了困境:将机器人加入到 chanel。
为了确保我做得很好,我在 telethon.dev 页面中寻找并找到了我正在尝试的这段代码:
from telethon.sync import TelegramClient
from telethon import functions,types
api_id = XXXXXXXXXXXX
api_hash = 'XXXXXXXXXXXXXXXXXXXXXX'
token= 'XXXXXXXXXXXXXXXXXXXXXX'
with TelegramClient('anon',api_id,api_hash) as client:
result = client(functions.channels.JoinChannelRequest(
channel='publicchanel'
))
print(result.stringify())
我也尝试以机器人身份登录,使用(当然,更改需要更改/添加的内容):
bot = TelegramClient('bot',api_hash).start(bot_token=token)
但我也遇到了同样的错误:
telethon.errors.rpcerrorlist.BotMethodInvalidError:API 访问 机器人用户受到限制。您尝试调用的方法不能是 作为机器人执行(由 JoinChannelRequest 引起)
我做错了什么?
PD:如果重要:我使用 Debian10 作为操作系统
解决方法
这不是 Telethon 限制,而是 Telegram 限制。机器人无法自行加入群组或频道,需要用户添加。
,机器人无法加入,在图形信使中使用机器人登录并查看其工作方式。 您应该将 bot 添加到频道并授予他管理员权限。 如果您仔细查看文档,您会发现此 joinchannel 方法仅适用于用户。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。