我已经创建了一个bot,它现在在我的discord服务器中,使用下面的代码。
我的问题是,一旦我在与bot不和谐的聊天中,我如何调用命令让bot运行代码,为用户列表收集csv?我不确定如何调用机器人,一旦它在聊天/服务器中获得列表。
"""A bot to list all members of a server."""
import csv
import time
from discord.ext import commands
from discord.ext.commands import Bot
# constants
PREFIX = "~"
TOKEN = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXx"
bot = Bot(command_prefix=PREFIX)
@bot.event
async def on_ready():
print('Logged in as')
print(bot.user.name)
print(bot.user.id)
print('------')
@bot.event
async def on_command_error(error, ctx):
if isinstance(error, commands.CommandNotFound):
return
else:
print(error)
@bot.command(pass_context=True)
async def stat(ctx):
"""Returns a CSV file of all users on the server."""
await bot.request_offline_members(ctx.message.server)
before = time.time()
nicknames = [m.display_name for m in ctx.message.server.members]
with open('temp.csv', mode='w', encoding='utf-8', newline='') as f:
writer = csv.writer(f, dialect='excel')
for v in nicknames:
writer.writerow([v])
after = time.time()
await bot.send_file(ctx.message.author, 'temp.csv', filename='stats.csv',
content="Here you go! Check your PM's. Generated in {:.4}ms.".format((after - before)*1000))
if __name__ == '__main__':
bot.run(TOKEN)
你是说运行你的stat
命令吗?由于您的前缀是~
,您可以通过在通道中键入~stat
来调用该命令。
我开始写一个Discord机器人,但我已经设法遇到了一个问题。我只是写了他写的东西,做了一些小改动,不会对程序产生太大影响。我有两个类,主类只获取bot的令牌,然后使用 下面是MyBot.cs: 它可以连接,机器人也可以在线。这是我的控制台中的输出: 当我现在打字的时候。一般来说,什么都不会发生。控制台中没有,一般情况下也没有。我已经看过了,但它并没有解决我的问题 编辑:我知道我应该使用Comma
我使用repl。它让我的不和机器人。我使用Python并遵循本教程: https://www.youtube.com/watch?v=SPTfmiYiuok 这是我的代码:
问题内容: 我正在使用Python处理User Discord Bot。如果机器人所有者键入内容,则该机器人将DM所有者提到的用户。 问题答案: 最简单的方法是使用扩展程序。在这里,我们使用转换器来获取目标用户,并使用仅关键字参数作为可选消息来发送目标用户: 对于discord.py的较新的1.0+版本,应使用而不是
我们正在创建一个不和谐机器人。 问题是控制台中没有错误,但不和谐聊天也是空的。所以完全没有回应。你能帮我说说我的错误是什么以及如何解决这个问题吗 祝你一切顺利,尼克斯
我正在尝试使用discord删除已创建的角色,该角色使用的是。js。 终端中的错误显示: DiscordAPIError:缺少权限 虽然我已经给了我的机器人所有权限。 代码:
当我在discord内部运行以下脚本(“cmd中的node musicbot.js”)和“!play ytlink”时,bot加入语音通道,并在控制台中记录命令和链接。然而,音乐并没有开始播放。我安装了ffmpeg、ytdl核心和discord。js。 有人能帮我吗?我不知道是哪一部分搞砸了。