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 查看事件包含的其他内容。它包含大量有用的数据。