【发布时间】:2021-11-23 06:38:02
【问题描述】:
对于我的一生,我无法弄清楚这一点。 我创建了一个新的 Telegram Bot 并创建了一个新频道,我在其中将我的 bot 添加为管理员。
在阅读了 100 次 docs 之后,我试图以某种方式“看到”实体,但是:
- get_dialogs() 不允许用于机器人
- client.get_entity('') 不允许用于机器人
不知道还能做什么……
我确实在频道中发布了一些消息。
我的代码看起来像:
from telethon import TelegramClient
telethon_client = TelegramClient(
api_id=int(config['TELETHON_API_ID']),
api_hash=config['TELETHON_API_HASH'],
session=config['TELETHON_SESSION']
).start(bot_token=config['TELEGRAM_BOT_TOKEN'])
with telethon_client:
telethon_client.loop.run_until_complete(__async_get_users(chat_id))
async def __async_get_users(chat_id):
channel = await telethon_client.get_entity(chat_id) # -100xxxxx
tg_users = await telethon_client.get_participants(channel)
感谢任何帮助、领导或想法!
【问题讨论】:
-
当机器人在频道中时,在收到新消息更新后(您可能需要将其设为管理员或在@BotFather 中禁用隐私模式),然后库应该“看到”频道.
-
嗨@Lonami,非常感谢您的提示。我试图关闭群组隐私(它已经是管理员)并在频道中重新发送消息,但我仍然收到同样的错误:/还有其他想法吗?
-
机器人获取通道访问哈希的唯一方法是通过更新。电报应该发送实体,图书馆应该将它们添加到缓存中。奇怪的是它不是。
标签: python bots telegram telethon