使 discord.py bot 使用外部命令

时间:2021-03-04 12:07:05

标签: python discord.py

我打算制作一个通用机器人,它也可以调用其他机器人。有什么想法吗?

import os
import discord
import time
from discord.ext import commands
from dotenv import load_dotenv
load_dotenv()

TOKEN = os.getenv("DISCORD_TOKEN")
bot = commands.Bot(command_prefix = ".")

@bot.event
async def on_ready():
    print(f"{bot.user.name} is ready")

#---------------------------------------#
@bot.command(name = "bot_interact")
async def join(ctx, voice_channel: commands.VoiceChannelConverter):
    await voice_channel.connect()
    await ctx.send("-play (desired_song)")
    time.sleep(2)
    await ctx.send("-loop")

@bot.command(name = "leave")
async def leave(ctx):
    server = ctx.message.guild.voice_client
    await server.disconnect()
#---------------------------------------#

bot.run(TOKEN)

此外,我把它写得太满了,所以你可以明确地看到我想要做什么,这是我的机器人来引起 Groovy 的注意,并告诉 Groovy,我想播放这首歌。请记住,我对 python 比较陌生,我没有使用太多。提前谢谢

1 个答案:

答案 0 :(得分:0)

机器人几乎总是被设计为忽略任何其他机器人的消息。如果没有这个,机器人可能会进入无限循环。

Groovy 做同样的事情;它将忽略机器人发送的所有其他消息。

相关问题