#python #database #discord #discord.py #repl.it
Вопрос:
Я создаю бота для раздора, который должен быть игрой. Я пытаюсь сохранить данные об игроке в базе данных replit, в данном случае строку задания, которое они хотят. Однако, когда я пытаюсь это сделать, даже после преобразования идентификатора discord в строку, я получаю ошибку при попытке извлечь информацию из базы данных. Это мой код:
if message.content.lower().startswith("!getjob"): #gets a job for player msglow = message.content.lower() if any(word in msglow for word in Listofjobs): jobwanted = findjob(msglow) jobreqs = getjobreqs(jobwanted) hasedu = findinlist(listofedu, jobreqs) if hasedu == True: usidfrdb = str(message.author.id) givejob(jobwanted, usidfrdb) getjob(usidfrdb) else: await message.channel.send("Sorry, you do not meet the requirements for this job, to see the requirement for this job use !joblist, and read the information of the job you want. If you do meet the requirements then this is a bug") else: await message.channel.send("Please enter a valid job (check spelling). Format: !GetJob [job name]")
и это функции для получения и установки значений базы данных:
def getjobreqs(job): if job == "baker": return("none") if job == "taxi driver": return("drivinglicence") def givejob(job, person): db[person, ".job"] = job print("given job to", person) def getjob(person): print(db.keys()) job = db[person, ".job"]
Вот изображение полного сообщения об ошибке, но в нем говорится, что quote_from_bytes() ожидаемые байты.
кроме того, база данных позволяет мне сохранять несколько значений с одним и тем же ключом. это список ключей:
поэтому, если вы знаете способ заставить его обновлять то, что есть в базе данных, а не создавать новую, пожалуйста, скажите мне.
Комментарии:
1. По-прежнему никакого ответа… прошло уже 5 дней.