【问题标题】:How to send slash commands with selfbot in Discord using Python?如何使用 Python 在 Discord 中使用 selfbot 发送斜杠命令?
【发布时间】:2021-10-23 05:06:36
【问题描述】:

我正在尝试使用在 repl.it 上运行的 selfbot 发送斜杠命令,但它们作为正常消息发送并且未被检测为命令。

代码如下:

# coding=utf-8
import discord
import os
from keep_alive import keep_alive
from time import sleep
bot = commands.Bot(command_prefix="+", intents = discord.Intents.default())
def __init__(self, bot):
  self.bot = bot

@bot.event
async def on_ready():
  print("Logged in as {0.user}.".format(bot))
  while True:
    sleep(1)
    await bot.get_channel(farmchannel).send("/tableflip ")

farmchannel = CHANNEL_ID

keep_alive()
bot.run(os.getenv("token"), bot=False)

如何让它发挥作用?

我在 discord.py 的文档中进行了搜索,但没有看到任何用于发送斜杠命令的内容。 提前致谢。

【问题讨论】:

    标签: discord.py


    【解决方案1】:

    尝试使用字符代码

    await bot.get_channel(farmchannel).send(chr(47) + “tableflip ")

    【讨论】:

    • 它仍然作为正常消息发送。感谢您的回答。
    • 还是正常的消息。
    • @SuperShaoBros Discord 在添加使用单独 API 的斜线命令时一定破坏了它。 discord.py 将来可能会更新以添加此功能。
    • 好的,谢谢。添加成功后我会告诉你。
    【解决方案2】:

    /tableflip 不是斜杠命令顺便说一句。它内置在客户端中,它所做的只是将表格翻转文本放在消息的末尾。您可以通过发送附加到 (╯°□°)╯︵ ┻━┻

    的消息来复制此功能

    对于实际的斜线命令(如“/8ball how is the weather”或“/saved queue list”或其他),您可以在开发分支中使用discum's bot.triggerSlashCommand(...) 函数。

    这里有两个例子:https://github.com/Merubokkusu/Discord-S.C.U.M/blob/development/examples/slashcommands.py

    这2个例子的原因是slash命令有两种触发方式(因为在DM中搜索slash cmds是通过rest请求完成的,而在guilds中搜索slash cmds是通过websocket通信完成的)。 在哪种情况下使用哪个示例并不重要。

    如果您想模仿客户,请使用公会中的第一个示例和 DM 中的第二个示例。

    最后,如果你不想使用像discum这样的同步api包装器,你可以使用discord.py-self。我听说他们很快就会实现斜线命令。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-21
      • 2023-02-22
      • 2022-11-09
      • 2012-12-09
      • 2021-12-31
      • 1970-01-01
      相关资源
      最近更新 更多