我没有做过任何编码,但我会更详细地解释我想要做什么。
答案 0 :(得分:-1)
如果您以前从未编程过,我不确定这是一个好主意,但无论如何,我会尽力解释代码的作用......
这个程序的第一部分是导入部分。我导入了许多有用的模块,包括 json 和 discord。
import discord
import discord.ext
from discord.ext import commands
from discord.ext.commands import bot
import discord.ext.commands
import json
import os
之后,我将添加一些 JSON 实用程序,让我们可以轻松操作 JSON
def loadJsonData(name):
global config
if os.path.exists(name+".json"):
with open("{}.json".format(name), "r") as f:
config = json.load(f)
else:
with open("{}.json".format(name), "w") as f:
f.write("{\"users\": []}")
f.close()
with open("{}.json".format(name), "r") as f:
config = json.load(f)
如果文件不存在,这将创建一个文件,并创建一个名为 config 的全局变量。
这一行将前缀设置为“!”:
client = commands.Bot(command_prefix='!')
还有最重要的部分:
@client.command()
async def hi(ctx):
print(f"We are trying to save the id: {ctx.author.id} !")
loadJsonData("database")
config["users"].append(str(ctx.author.id))
saveConfig("database")
这将创建一个名为 hi 的命令。执行时,会打印出作者的id。然后它将使用 json 实用程序函数将其记录到 json 文件中。
最后一部分:使用令牌运行机器人:
client.run("enter-your-token-here")
完整代码:
import discord
import discord.ext
from discord.ext import commands
from discord.ext.commands import bot
import discord.ext.commands
import json
import os
def loadJsonData(name):
global config
if os.path.exists(name+".json"):
with open("{}.json".format(name), "r") as f:
config = json.load(f)
else:
with open("{}.json".format(name), "w") as f:
f.write("{\"users\": []}")
f.close()
with open("{}.json".format(name), "r") as f:
config = json.load(f)
def saveConfig(name):
with open("{}.json".format(name), "w") as f:
json.dump(config, f, indent=4)
client = commands.Bot(command_prefix='!')
@client.command()
async def hi(ctx):
print(f"We are trying to save the id: {ctx.author.id} !")
loadJsonData("database")
config["users"].append(str(ctx.author.id))
saveConfig("database")
client.run("enter-your-token-here")