【问题标题】:How to share objects between different functions如何在不同功能之间共享对象
【发布时间】:2017-11-05 16:51:39
【问题描述】:

我正在努力做到这一点,如果用户激活test,它将在聊天室中显示一个测试菜单,如果同一用户对任何消息发表反应,它将删除该测试菜单:

import discord, asyncio

client = discord.Client()

@client.event
async def on_message(message):
    if message.content.lower().startswith('test'):
        menu = await client.send_message(message.channel, "test menu")

@client.event
async def on_reaction_add(reaction, user):
    if user == message.author:
        await client.delete_message(menu)

client.run('ClientToken')

但是,代码没有从其他函数读取像 message.authormenu 这样的对象。

【问题讨论】:

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


    【解决方案1】:

    您可以创建一个字典来保存消息和作者值。

    test = {'message': None, 'author': None}
    
    @client.event
    async def on_message(message):
        if message.content.lower().startswith('test'):
            menu = await client.send_message(message.channel, "test menu")
            test['message'] = menu
            test['author'] = message.author
    
    @client.event
    async def on_reaction_add(reaction, user):
        if user == test['author']:
            await client.delete_message(test['message'])
    

    【讨论】:

      猜你喜欢
      • 2014-02-22
      • 2012-03-14
      • 1970-01-01
      • 1970-01-01
      • 2016-04-11
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      相关资源
      最近更新 更多