Найти - Пользователи
Полная версия: Команды jabber-бота работают не синхронно с тредом. Убить thread! (?
Начало » Центр помощи » Команды jabber-бота работают не синхронно с тредом. Убить thread! (?
1
sashog
Привет.
Написал jabber-бота, запустил на своем серваке.. Принцип этого бота такой. Если в общем чате (канале, комнате) юзверь пишет например сообщение “HI” то бот ему отвечает “И тебе хай, чувак”. :P Воть приблизительный код процедуры обработки сообщения “HI” (было лень открывать содержимое питон-файла):

def obrabotka_komandy_hi(self, cmd, args, mesg):
if mesg.genFrom() == "HI": print "И тебе хай, чувак"
return "И тебе хай, чувак"
Но другие остальные команды бот анализирует в треде (thread). Вот примерное содержимое процедуры треда:
def thread_proc(self):
if global_messaga == "LIST": return "FUCK"
if global_message == "WHOAMI": return "Покемон"
if something == anything: return nothing

for x in len(f):
sleep 1
x = x + 3

print "Прошло 12 секунд"
Вот так получается что команды пользователя “HI” и “LIST” например должны работать синхронно. То есть если юзверь ввел HI то тред thread_proc не должен уже обрабатывать команду “LIST”.. )) А получилось так, что юзверь вводит “HI” и ему бот отвечает “И тебе хай, чувак”. Но после этого кто-то там вводит “LIST” и бот вызывает thread_proc и выводит сообщение “FUCK” :D Короче я думаю, что надо убить тред thread_proc в процедуре obrabotka_komandy_hi. Или запустить этот тред по новой. И как это сделать? Просто вот тот цикл for… он скорее всего мешает синхронной обработке команд бота. Но этот цикл необходим (((. Так что советуйте))) Как убить тред или запустить его по новой.. (((
kzoi_py
твистед использлвали?
sashog
kzoi_py
твистед использлвали?
Нет не использовал. :P А чо такое твистед?
sashog
sashog
kzoi_py
твистед использлвали?
Нет не использовал. :P А чо такое твистед?
А-а-а) дошло) Не, не твистед. Использовал xmpp и класс python-jabberbot.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB