检查谁发送消息

时间:2020-07-06 11:00:41

标签: python telegram telethon

我对python(和编程)非常不好。我正在尝试创建简单的“转发客户端”。

我希望我的电报客户端将消息转发到saved messages,所以我这样做了:

api_id = ****
api_hash = '****'

with TelegramClient('name', api_id, api_hash) as client:
   @client.on(events.NewMessage(outgoing='true', incoming='true'))
   async def handler(event):
      await event.message.forward_to('me')
   client.run_until_disconnected()

一切正常,但是我只想转发我的消息和来自用户的消息。不是来自团体或公共渠道。

我该怎么做?在文档中找不到任何内容

谢谢

1 个答案:

答案 0 :(得分:0)

您非常接近,只需要在chats上添加events.NewMessage自变量。阅读文档here了解更多信息

这是您想要的代码:

api_id = ****
api_hash = '****'

with TelegramClient('name', api_id, api_hash) as client:
   @client.on(events.NewMessage(outgoing='true', incoming='true', chats=[xxxxx, xxxx]))
   async def handler(event):
      await event.message.forward_to('me')
   client.run_until_disconnected()

chats参数将需要一个实体列表(有关实体here的更多信息)

如果您正在寻找简单的解决方案,则可以随时使用我制造的@tg_feedbot

这是一个机器人,用于将消息从一个/多个组转发到其他组。它的工作方式是使用您的电报帐户,当收到一条消息时(如果已配置),它将看到该消息并将其重写为所需的频道。您可以编辑消息的外观,过滤,延迟和更改单词。

这是一个自动化Telegram User API的免费解决方案,它与documentation一起使用界面简单