我的机器人工作得非常好,一直在工作,直到我将它添加到第三个 Discord 服务器。它所在的第一台服务器是机器人测试服务器,然后是一个死服务器,现在是它的实际服务器。除了钱包银行功能外,机器人上的所有内容仍在工作。用户的余额不断下降。我的以前是40,现在是14?我对编码很陌生,我不知道为什么会这样。
import discord
from discord.ext import commands
import random
import os
import pickle
from keep_alive import keep_alive
client = discord.Client()
client = commands.Bot(command_prefix = ["$", "Shakey"])
dataFilename = "data.pickle"
class Data():
def __init__(self, wallet, bank):
self.wallet = wallet
self.bank = bank
@client.event
async def on_ready():
print ('luck noises')
def loadData():
if os.path.isfile(dataFilename):
with open(dataFilename, "rb") as file:
return pickle.load(file)
else:
return dict()
def loadMemberData(memberID):
data = loadData()
if memberID not in data:
return Data(0, 0)
return data[memberID]
def saveMemberData(memberID, memberData):
data = loadData()
data[memberID] = memberData
with open(dataFilename, "wb") as file:
pickle.dump(data, file)
@client.command(aliases=['p'])
async def ping(ctx):
await ctx.send('Pong!')
@client.command(aliases=['!'])
async def work(message):
memberData = loadMemberData(message.author.id)
memberData.wallet += 1
await message.channel.send("+1 milkshake, keep up the good work.")
saveMemberData(message.author.id, memberData)
@client.command(aliases=['?'])
async def bal(message):
memberData = loadMemberData(message.author.id)
embedVar = discord.Embed(title="{member}'s Balance".format(member=message.author.display_name))
embedVar.add_field(name="Milkshakes", value=str(memberData.wallet))
await message.channel.send(embed=embedVar)
keep_alive()
client.run(os.getenv('TOKEN'))