Telethon telegram,区分频道消息和私信
Telethon telegram, distinguish from channel messages and private messages
我必须向机器人发送一些私人命令。您如何知道事件消息是私人消息还是来自 channel/group?
我在 obj 消息中发现了这个:
PeerUser(user_id=xxxxxxxxx) - private message from User
from_id=None <-- none
PeerChannel(channel_id=hhhhhhhhhh) - message from channel
from_id=PeerUser(user_id=xxxxxxxxxx) - from_id got the user_id
如何测试它?我必须寻找属性 PeerUser 或 PeerChannel 吗?
或者我必须测试 'from_id' ?:
if not from_id :
# private message
else:
# channel message
谢谢。
Telethon 有活动。
如果调试事件的输入,您会看到多个参数。
event.is_private
是一个参数,要么为真,要么为假。
示例代码:
from telethon import events
async def init(bot, session):
@bot.on(events.NewMessage(incoming=True, pattern=r"/test"))
async def handler(event):
if event.is_private:
这是我的一个代码中的一个工作片段。尝试使用 debigger 查看事件包含的其他内容。它包含大量有用的数据。
我必须向机器人发送一些私人命令。您如何知道事件消息是私人消息还是来自 channel/group?
我在 obj 消息中发现了这个:
PeerUser(user_id=xxxxxxxxx) - private message from User
from_id=None <-- none
PeerChannel(channel_id=hhhhhhhhhh) - message from channel
from_id=PeerUser(user_id=xxxxxxxxxx) - from_id got the user_id
如何测试它?我必须寻找属性 PeerUser 或 PeerChannel 吗? 或者我必须测试 'from_id' ?:
if not from_id :
# private message
else:
# channel message
谢谢。
Telethon 有活动。
如果调试事件的输入,您会看到多个参数。 event.is_private
是一个参数,要么为真,要么为假。 示例代码:
from telethon import events
async def init(bot, session):
@bot.on(events.NewMessage(incoming=True, pattern=r"/test"))
async def handler(event):
if event.is_private:
这是我的一个代码中的一个工作片段。尝试使用 debigger 查看事件包含的其他内容。它包含大量有用的数据。