如何使用Telethon插入指向用户个人资料的链接或在消息中聊天?

时间:2019-10-16 06:31:17

标签: python-3.x hyperlink telethon

在Telethon中撰写新消息,我试图使诸如“聊天(链接)中的用户(链接)发布了某事”之类的东西,但是失败了。

根据https://github.com/LonamiWebs/Telethon/wiki/Special-links,我尝试了诸如tg:// user?id = 123和tg:// openmessage?chat_id = 123之类的链接,但是这些链接在文本中无法正常工作。

这里是例子:

@client.on(events.NewMessage)
async def handler(event):
    sender = await event.get_sender()
    sender_id = event.sender_id
    sender_link = 'tg://user?id=' + str(sender_id)
    payload = '[%s] (%s) said something' % (sender.first_name, sender_link)

我希望收到带有用户名超链接的消息,但得到[Alex](tg:// user?id = 123),该链接无处可寻。

2 个答案:

答案 0 :(得分:2)

您需要删除[...](...)之间的空格。您应该有[%s](%s)

答案 1 :(得分:0)

特威特是对的,但有几种选择。您可以将MessageEntityMention手动插入解析器,也可以使用HTML parse_mode和格式。请注意,这两个都更好,例如考虑一个名为hello](tg://user?id=321)[的用户。该用户不会获得链接,因此您应避免降价,因为无法逃脱此操作。