Мне нужно передать значения из одной функции в другую из функции.Передача значений функции из функции в python
Например (мой IRC бот запрограммирован реагировать на команды в канале):
def check_perms(nick,chan,cmd):
sql = "SELECT `"+ cmd +"` FROM permissions WHERE nick = '"+ nick +"' and chan = '"+ chan +"'" # This returns 0
#sql = "SELECT `restart` FROM permissions WHERE nick = 'Me' and chan = '#mychan'" # this works as intended
cursor.execute(sql)
result = cursor.fetchall()
for row in result:
if (row[0] == 1): # Nick logged in and has permission
return 1
else: # nick does not have permissions
return 0
def com_restart(nick,chan):
perm = check_perms(nick,chan,"restart")
if (perm == 0): # nick did not have permission
irc.send("NOTICE "+ nick +" :Permission denied.\n")
elif (perm == 1): # nick has permission
irc.send("PRIVMSG "+ chan +" :I've been asked to restart myself by "+ nick +".\n")
nick = "Me" # This is determined by a bunch of regex splits and such
chan = "#mychan" # This is determined by regex splits as well
com_restart(nick,chan)
Когда я пытаюсь это, хотя, кажется, что значения не передаются в запрос SQL, так что она возвращает 0.
Спасибо за любую помощь, которую вы можете предоставить.
EDIT - Добавлен код, с которым я работаю, поскольку он стоит прямо сейчас.
Вы когда-нибудь называли свои функции? Если нет, ничего никогда не произойдет. – simchona
У вашего кода есть несколько проблем, когда дело доходит до синтаксиса, но кроме того, где вы звоните? Вам понадобится вызов типа y (foo, bar) после инициализации foo и bar. – Yuushi
Пожалуйста, разместите реальный код, реальные соответствующие сообщения об ошибках, реальные описания того, что он должен делать, реальные описания того, что на самом деле происходит, что-то реальное. –