单击按钮后将字符串复制到剪贴板

Copy string to clipboard after button click

单击按钮后,我的 Discord 机器人应该将一个字符串复制到我的剪贴板。每次交互失败:

import clipboard
from discord_components import Button, DiscordComponents

@client.command()
async def command(ctx, *args):
    # do some stuff
    await ctx.send('message', components=[Button(label='Copy to clipboard', custom_id="copy_btn")])

@client.event
async def on_button_click(interaction):
    if interaction.custom_id == 'copy_btn':
        try:
            print('try to copy string')
            clipboard.copy('my string')
            await ctx.send('string copied')
        except Exception as e:
            print('failed to copy string to clipboard\n' + e)

我的机器人在使用 command 时向我发送了一条带有按钮的消息。单击该按钮会将 try to copy string 打印到我的控制台,但不会复制 'my string'。没有例外。

pip install clipboard 成功了。 pip install discord-components

相同

除了这里可能存在一些深刻的误解之外,我在这里没有看到任何问题:您的代码与 运行 机器人的机器的剪贴板交互,而不是单击按钮的客户端- discord 不提供任何此类功能。

通过将 try 块中对 send 的调用更改为

,您应该能够轻松判断它是否正常工作
await ctx.send(clipboard.paste())