在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),该链接无处可寻。
答案 0 :(得分:2)
您需要删除[...]
和(...)
之间的空格。您应该有[%s](%s)
。
答案 1 :(得分:0)
特威特是对的,但有几种选择。您可以将MessageEntityMention手动插入解析器,也可以使用HTML parse_mode和格式。请注意,这两个都更好,例如考虑一个名为hello](tg://user?id=321)[
的用户。该用户不会获得链接,因此您应避免降价,因为无法逃脱此操作。