【问题标题】:Discord.py: Sending someone a message in a flask applicationDiscord.py:在烧瓶应用程序中向某人发送消息
【发布时间】:2020-02-12 21:25:54
【问题描述】:

我正在尝试在烧瓶应用程序中设置不和谐机器人。它的工作方式是用户通过网站上的不和谐的 OAuth2 登录,当他点击一个按钮时,他应该收到一条不和谐的消息。我不知道如何创建一个函数,在单击网站上的按钮时执行user.send("Hello")

import discord

async def dm(): 
    user = client.get_user(USERID)
    await user.send('Hello')

client.run(TOKEN)

我想在另一个烧瓶文件中导入 dm() 函数并在单击按钮时执行它。所以我需要一个 discord.py 函数,它在被调用时向特定的用户 ID 发送消息。感谢您的帮助。

【问题讨论】:

    标签: python flask oauth-2.0 discord.py


    【解决方案1】:

    您想要做的并不是专门针对烧瓶。在 python 中,为了从另一个文件中执行一个函数,你导入它并调用该函数。

    在您的情况下,您需要在您的烧瓶应用程序上设置一个端点,例如 /send/{userId},并且当用户调用此端点(例如有一个用于此链接的按钮)时,您会调用该函数。

    from yourfile import dm
    from flask import Flask
    
    app = Flask(__name__)
    
    @app.route('/<user_id>')
    def send_message(user_id):
        await dm(user_id)
    

    您还需要添加 user_id 作为dm 函数的参数。

    【讨论】:

    • 问题是dm功能不起作用。我需要一个 discord.py 函数,它在被调用时会自动向用户 ID 发送一条消息。
    • 那么您需要将 user_id 传递给函数。
    • 是的,我做到了。问题是用户返回无类型。用户仅在函数上方带有@ 时才返回正确的值。例如@client.event。而且我不能使用@click.event,因为它只有在不和谐中发生某些事情时才会执行
    • 如果您无法在不和谐环境之外获取用户 ID,那么您可能根本无法向他人发送消息!
    猜你喜欢
    • 2021-04-12
    • 1970-01-01
    • 2019-06-22
    • 2021-08-22
    • 2022-06-11
    • 2013-04-03
    • 2020-06-16
    • 2022-01-11
    • 1970-01-01
    相关资源
    最近更新 更多