Telethon-将电报频道消息另存为NewMessage事件中的变量

Nacho BS

阅读了以下问题:如何将电报通道中的消息保存为变量

我需要执行相同的操作,但是从NewMessage事件中,将消息的内容存储在变量中。

但是,event.text和event.raw_test似乎都不能存储在变量中

如下代码:

import asyncio
from telethon import TelegramClient, events

import logging
logging.basicConfig(format='[%(levelname) 5s/%(asctime)s] %(name)s: %(message)s',
                    level=logging.WARNING)

client = TelegramClient('session', 'api_id', 'api_hash')
client.start()


channel = 'xxx'


async def main():
        @client.on(events.NewMessage(chats=channel))
        async def handler(event):
            await print (event.text)

        await client.run_until_disconnected()


loop = asyncio.get_event_loop()
loop.run_until_complete(main())

可以打印新的频道消息,但是在打印的消息中却给了我两个错误:

  • 等待回调(事件)
  • TypeError:对象NoneType不能在'await'表达式中使用

但是当我改变

        await print (event.text)

为了

        msg = await event.text
        print(msg)

我遇到了同样的两个错误,但是这次没有打印...并且我需要将消息中的文本另存为变量,以继续执行脚本。

在函数之前声明变量msg并使它在其中成为全局变量也无效。

我不知道还有什么尝试。提前致谢。

Qwerty空间

马拉松式节目文档盖这个不错(适合你的使用情况):

from telethon import TelegramClient, events

client = TelegramClient('session', api_id, api_hash)

channel = "xxx"

@client.on(events.NewMessage(chats=channel))
async def my_event_handler(event):
    print(event.text) # this doesn't need an "await"

client.start()
client.run_until_disconnected()

还要注意,我没有将事件处理程序放在另一个函数中,并且run_until_disconnected()调用不会调用任何函数,也不会将其合并在一个函数中。您甚至不需要导入asyncio

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Telethon获取来自电报频道的新消息

来自分类Dev

如何仅在Telethon对话中处理NewMessage

来自分类Dev

使用Telethon发送电报消息

来自分类Dev

如何使用Telethon向我的频道发送消息

来自分类Dev

使用Telethon库从电报组中获取所有计划的消息

来自分类Dev

多线程中的Telethon事件未按预期工作

来自分类Dev

telethon:根据事件来自的聊天类型过滤事件

来自分类Dev

如何使用TELETHON按日期获取消息?

来自分类Dev

如何避免将“ global”与asyncio(telethon)一起使用?

来自分类Dev

如何在Telethon库对话中获取按钮CallbackQuery

来自分类Dev

想要从 Telegram 上的组/频道中提取固定消息,我正在使用 Telethon

来自分类Dev

我如何恢复 Telethon 电报中旧的会话并再次连接(无需再次发送代码))

来自分类Dev

如何在Telethon事件处理程序中获取特定时区的时间

来自分类Dev

Telethon在按钮之后写消息/开始聊天-机器人在/ start之前发送消息

来自分类Dev

如何使用Telethon通过链接发送消息,然后启动到bot?

来自分类Dev

使用 Telethon 发送 Telegram 消息:某些实体参数有效,其他实体参数无效?

来自分类Dev

将变量另存为JavaScript中的Cookie?

来自分类Dev

将find的结果另存为shell脚本中的变量

来自分类Dev

如何将ConversationHandler模块从Python-Telegram-Bot迁移到Telethon

来自分类Dev

旧版本的 Telethon

来自分类Dev

awk将值另存为变量

来自分类Dev

将excel另存为pdf,将文件名另存为变量值

来自分类Dev

将变量另存为MYSQL中的变量以供以后使用

来自分类Dev

将单个查询结果另存为变量

来自分类Dev

是否可以将JavaScript变量另存为文件?

来自分类Dev

可以将结构成员另存为变量吗?

来自分类Dev

Matlab:将工作区变量另存为.txt文件

来自分类Dev

球拍将图像变量另存为图像到磁盘

来自分类Dev

将单个查询结果另存为变量

Related 相关文章

  1. 1

    如何使用Telethon获取来自电报频道的新消息

  2. 2

    如何仅在Telethon对话中处理NewMessage

  3. 3

    使用Telethon发送电报消息

  4. 4

    如何使用Telethon向我的频道发送消息

  5. 5

    使用Telethon库从电报组中获取所有计划的消息

  6. 6

    多线程中的Telethon事件未按预期工作

  7. 7

    telethon:根据事件来自的聊天类型过滤事件

  8. 8

    如何使用TELETHON按日期获取消息?

  9. 9

    如何避免将“ global”与asyncio(telethon)一起使用?

  10. 10

    如何在Telethon库对话中获取按钮CallbackQuery

  11. 11

    想要从 Telegram 上的组/频道中提取固定消息,我正在使用 Telethon

  12. 12

    我如何恢复 Telethon 电报中旧的会话并再次连接(无需再次发送代码))

  13. 13

    如何在Telethon事件处理程序中获取特定时区的时间

  14. 14

    Telethon在按钮之后写消息/开始聊天-机器人在/ start之前发送消息

  15. 15

    如何使用Telethon通过链接发送消息,然后启动到bot?

  16. 16

    使用 Telethon 发送 Telegram 消息:某些实体参数有效,其他实体参数无效?

  17. 17

    将变量另存为JavaScript中的Cookie?

  18. 18

    将find的结果另存为shell脚本中的变量

  19. 19

    如何将ConversationHandler模块从Python-Telegram-Bot迁移到Telethon

  20. 20

    旧版本的 Telethon

  21. 21

    awk将值另存为变量

  22. 22

    将excel另存为pdf,将文件名另存为变量值

  23. 23

    将变量另存为MYSQL中的变量以供以后使用

  24. 24

    将单个查询结果另存为变量

  25. 25

    是否可以将JavaScript变量另存为文件?

  26. 26

    可以将结构成员另存为变量吗?

  27. 27

    Matlab:将工作区变量另存为.txt文件

  28. 28

    球拍将图像变量另存为图像到磁盘

  29. 29

    将单个查询结果另存为变量

热门标签

归档