【问题标题】:Discord.py How to detect links posted by other people?Discord.py 如何检测其他人发布的链接?
【发布时间】:2021-05-23 20:18:18
【问题描述】:

所以我想检测其他不和谐用户在不和谐中发布的链接,以便以后检查所有发布的链接。现在我已经编写了所有代码,但我不明白为什么它不起作用。

如果我发布了一个链接,它会检测到并正确显示,但如果其他人发布它没有检测到它,不知道我能做些什么来解决这个问题。

token = "xxxxxxx"

client = discord.Client()
    
    
@client.event
async def on_message(message):
    urls = re.findall("(?:(?:https?|ftp):\/\/|\b(?:[a-z\d]+\.))(?:(?:[^\s()<>]+|\((?:[^\s()<>]+|(?:\([^\s()<>]+\)))?\))+(?:\((?:[^\s()<>]+|(?:\(?:[^\s()<>]+\)))?\)|[^\s`!()\[\]{};:'.,<>?«»“”‘’]))?", message.content)
    if urls:
        print (f"[{datetime.datetime.now()}] Link(s) Found:")
        for x in range(len(urls)):
            print(urls[x])


client.run(token)

如果我不包含 bot=False,我会收到一个错误,提示令牌无效,但如果我包含它,我不会收到任何错误,但我也无法检测到其他用户发布的内容。

【问题讨论】:

    标签: python python-3.x discord discord.py


    【解决方案1】:

    您需要做几件事来解决此问题。首先,您需要删除bot=False,这会让您更加可疑。过去在您使用discord.Client 时这对您不起作用的原因,您应该改用commands.Bot()

    【讨论】:

    • 但是 commands.Bot() 需要我自己创建一个机器人并让它加入服务器。不是我打算做的>.
    • 如果你想制作一个自我机器人,你最终要做的就是让自己被禁止。
    • 我不会,因为我所做的只是记录链接我没有做任何有害的事情
    • 不允许使用自我机器人,而且很可能永远不会被允许。无论您如何使用它,这都违反了 Discord TOS。
    猜你喜欢
    • 2021-05-10
    • 2014-10-04
    • 2022-01-14
    • 2022-01-23
    • 1970-01-01
    • 1970-01-01
    • 2021-04-04
    • 2021-07-18
    • 2020-12-26
    相关资源
    最近更新 更多