Я работаю над IRC, например, chatbot для подключения к форуму IP.Board, и он будет использоваться для игр и возиться. У меня есть проблема с командами, которая действительно начинает меня беспокоить, поскольку она сначала срабатывала, а затем запускала ошибки, вызванные частью функции elif. Я проверял прошлой ночью, и это, казалось, работало хорошо, но когда я загрузился этим утром, чтобы сделать немного больше работы он начал бросать ошибку:Несколько команд, доступных в одной команде
user, newItem = args.split("with", 1)
ERROR requires 2 arguments but only one was specified
Я включил код сценария ниже.
EDIT: Я исправил проблему и обновленный код ниже, чтобы помочь другим
if cmd == "slap":
try:
if args == user.lower():
group.sendPost("-slaps "+args+" with "+random.choice(Items)+"-")
else:
user, newItem = args.split("with", 1)
group.sendPost("-Slaps "+user+" with "+newItem+"-")
f = open("DictItems", "a")
f.write("" + newItem + '\n')
f.close()
except:
print("Slap Command Errored with NewItem")
group.sendPost("I'm sorry, that command seems to be broken. I have notified the staff.")
self.sendPM(Yusei, "I'm sorry to inform but the slap command has failed with an error defining the newItem. Please look into it. Thank you.")
Ваша строка записи не требует начального '' '' в начале. Это пустая строка. Также я не уверен в этом, но у вас есть два аргумента для разделения? т. е. если у вас есть '' foo '', он выдает ошибку, но это не тот, который вы указали. – SirParselot
Можете ли вы предоставить свой ввод, который вызывает ошибку? – SirParselot
Команда выполнить это будет либо .slap [insertnamehere] с [randomitem], либо .slap [insertnamehere]. Кроме того, я помещал пустую строку туда, чтобы начать ввод, но если он не нужен, я могу его удалить. – LordYusei