JRuDevels

Jabber Russian Developers Forum.
Log in Register FAQ Memberlist Search JRuDevels Forum Index

JRuDevels Forum Index » Сообщения об ошибках [BugTraq] » глюк в neutron bot Goto page 1, 2, 3, 4  Next
Post new topic  Reply to topic View previous topic :: View next topic 
глюк в neutron bot
PostPosted: Fri May 06, 2005 10:38 am Reply with quote
RomanZZ
Отметившийся
Отметившийся
Joined: 01 May 2005
Posts: 10




Собственно не запускается викторина !quiz_start
В консоли пишется следующее:
Code:
Unhandled exception in thread started by <function handler_quiz_start at 0x00A43
BF0>
Traceback (most recent call last):
  File "plugins/quiz_plugin.py", line 96, in handler_quiz_start
    quiz_ask_question(groupchat)
  File "plugins/quiz_plugin.py", line 50, in quiz_ask_question
    (question, answer) = quiz_new_question()
  File "plugins/quiz_plugin.py", line 40, in quiz_new_question
    QUIZ_RECURSIVE_MAX -= 1
UnboundLocalError: local variable 'QUIZ_RECURSIVE_MAX' referenced before assignm
ent


ОС windows XP
View user's profile Send private message
PostPosted: Sat May 07, 2005 2:48 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




Видимо не назначенно значение переменной QUIZ_RECURSIVE_MAX... т.е. это видимо константа, которую надо прописывать ручками.

Попробуй викторину на php Smile

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sat May 07, 2005 6:13 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




А где живет вобще эта квиза питонская? Я ее только на jabber.ru видел.
Да и покруче будет чем та, которая на PHP.
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sat May 07, 2005 6:18 pm Reply with quote
Binary
Разработчик
Разработчик
Joined: 17 Dec 2004
Posts: 1712
Location: Омск




leksey wrote:
Да и покруче будет чем та, которая на PHP.

Чем круче то?

_________________
And I'm feeling good!
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Sat May 07, 2005 7:38 pm Reply with quote
RomanZZ
Отметившийся
Отметившийся
Joined: 01 May 2005
Posts: 10




Binary wrote:
Видимо не назначенно значение переменной QUIZ_RECURSIVE_MAX... т.е. это видимо константа, которую надо прописывать ручками.

Попробуй викторину на php Smile

Да хотелось бы именну эту викторину запустить, так как бот у меня не на моём сервере стоит, а то человек не будет ставить php, а питон уже есть.
View user's profile Send private message
PostPosted: Mon May 23, 2005 12:07 am Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




Тоже решил поставить и посмотреть что за зверь.
http://ejabberd.jabber.ru/neutron

Правда, питона ставлю в лоб, по дефолту. configure-make-make_install
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Mon May 23, 2005 1:17 am Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




А вот у меня бот запускается, а что делать дальше я не понял.
Как залучить его на канал и запустить тот же quiz?
по идее !join имя_канала?

Порадовала простота установки. Я вспомнил сколько мы с перлом бились (всего депенсы его модулей соблюдали), чтобы завести написанного на нем jabber-бота. А тут достаточно только скрипт толкнуть...
Кстати, используется xmpppy от тов. Snake в данном боте..
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Wed Jun 01, 2005 5:23 am Reply with quote
RomanZZ
Отметившийся
Отметившийся
Joined: 01 May 2005
Posts: 10




У меня тоже всё встало, только не работает викторина.
Зайти в груп чат- команда !join main@conference.jabber.ru Имя_бота
Эта команда для админа бота в привате.
А вообще все команды можно посмотреть по команде !commands
или help !команда
View user's profile Send private message
PostPosted: Wed Jun 01, 2005 12:20 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




Это понял я. Я просто с синтаксисом затупил. Спасибо за подсказку.
А вобще для викторины вопросы нужны. А их в поставке не наблюдается.
Может поэтому не запускается?

Тем более у меня при запуске по умолчанию грузятся только вот такие плагины:
Code:

Plugin: rss_plugin.py
Plugin: userinfo_plugin.py
Plugin: chat_plugin.py
Plugin: help_plugin.py
Plugin: admin_plugin.py
Plugin: access_plugin.py
Plugin: babel_plugin.py
Plugin: chatbot_nick_plugin.py
Plugin: dict_plugin.py
Plugin: dns_plugin.py
Plugin: domain_plugin.py
Plugin: fact_plugin.py
Plugin: google_plugin.py
Plugin: log_plugin.py
Plugin: presence_plugin.py
Plugin: python_plugin.py
Plugin: query_plugin.py
Plugin: quote_plugin.py
Plugin: stock_plugin.py
Plugin: temperature_plugin.py
Plugin: time_plugin.py
Plugin: vote_plugin.py
Plugin: weather_plugin.py
Executing Init Script
Querying Channels
Finished Querying Headlines
Connected
Logged In
Presence Sent


Вобще я доки не нашел никакой на бота. Может тоже проглядел?
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
Re: глюк в neutron bot
PostPosted: Wed Jun 01, 2005 1:05 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




RomanZZ wrote:
Собственно не запускается викторина !quiz_start
В консоли пишется следующее:
Code:
Unhandled exception in thread started by <function handler_quiz_start at 0x00A43
BF0>
Traceback (most recent call last):
  File "plugins/quiz_plugin.py", line 96, in handler_quiz_start
    quiz_ask_question(groupchat)
  File "plugins/quiz_plugin.py", line 50, in quiz_ask_question
    (question, answer) = quiz_new_question()
  File "plugins/quiz_plugin.py", line 40, in quiz_new_question
    QUIZ_RECURSIVE_MAX -= 1
UnboundLocalError: local variable 'QUIZ_RECURSIVE_MAX' referenced before assignm
ent


ОС windows XP

Вобще я столкнулся с таким же сообщением об ошибке,
но если взглянуть в строку 40, то там будет
Code:
   
def quiz_new_question():
   line_num = random.randrange(16197)
   fp = file(QUIZ_FILE)
   for n in range(line_num + 1):
      if n == line_num:
         try:
            (question, answer) = string.split(fp.readline().strip(), '|', 1)
            return (unicode(question), unicode(answer))
         except:
            QUIZ_RECURSIVE_MAX -= 1
            if QUIZ_RECURSIVE_MAX:
               return quiz_new_question()
            else:
               QUIZ_RECURSIVE_MAX = 20
               return ('Parsing Error: Line ' + str(n), '')
      else:
         fp.readline()

Т.е. срипт вытаскивает из файла случайную строку (но не болье 16197 и пытается ее расковырять: "Строительство барж.|баржестроение" и вернуть результат.

Я попробовал сам файл quizdata.txt сделать уникодным, там вобще все валится без сообщения.

А что касаемо этой загадочной константы, то вот все доступные:
Quote:
QUIZ_FILE = 'static/quizdata.txt'
QUIZ_TOTAL_LINES = 16197
QUIZ_TIME_LIMIT = 60
QUIZ_IDLE_LIMIT = 5

QUIZ_RECURSIVE_MAX = 20
QUIZ_SCORES = {}
QUIZ_CURRENT_ANSWER = {}
QUIZ_CURRENT_HINT = {}
QUIZ_CURRENT_TIME = {}
QUIZ_IDLENESS = {}
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Thu Jun 02, 2005 7:18 pm Reply with quote
RomanZZ
Отметившийся
Отметившийся
Joined: 01 May 2005
Posts: 10




Есть в комплекте поставки Quiz_plugin и база данных находится в папке localized.
Не могу понять из за чего ошибка такая выскакивает
UnboundLocalError: local variable 'QUIZ_RECURSIVE_MAX' referenced before assignment может кодировка??
А константы я видел
View user's profile Send private message
PostPosted: Thu Jun 02, 2005 7:32 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




До этого я со скрипом дотумкал.
И нарвался на ту же проблему что и все.
Ругань на эту константу..
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
PostPosted: Thu Jun 02, 2005 8:52 pm Reply with quote
RomanZZ
Отметившийся
Отметившийся
Joined: 01 May 2005
Posts: 10




Code:
if n == line_num:
         try:
            (question, answer) = string.split(fp.readline().strip(), '|', 1)
            return ((question), (answer))
         except:
            QUIZ_RECURSIVE_MAX -= 1
            if QUIZ_RECURSIVE_MAX:
               return quiz_new_question()
            else:
               QUIZ_RECURSIVE_MAX = 20
               return ('Parsing Error: Line ' + str(n), '')
      else:
         fp.readline()

Убрал unicode в строчке return ((question), (answer)) и бот заработал, но ответы в чате он не определяет и в свою очередь выдаёт вот это:
Code:
Traceback (most recent call last):
  File "plugins/quiz_plugin.py", line 133, in handler_quiz_message
    quiz_answer_question(source[1], source[2], body.strip())
  File "plugins/quiz_plugin.py", line 59, in quiz_answer_question
    if QUIZ_CURRENT_ANSWER[groupchat] == answer:
UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 0: ordinal
not in range(128)

Кстати изначально база в папке локализации в кодировке unicode
Может проблема в том что бот работает в win кодировке а мы ему тут unicode подсовываем, кстати перекодировка базы в win не помогла, вылазиют ошибки
View user's profile Send private message
PostPosted: Fri Jun 03, 2005 5:41 am Reply with quote
RomanZZ
Отметившийся
Отметившийся
Joined: 01 May 2005
Posts: 10




Вот что выдаёт гугл:
Ok perhaps can you test something for me. put these line :

import sys
sys.setdefaultencoding('uft-8')
View user's profile Send private message
PostPosted: Fri Jun 03, 2005 4:03 pm Reply with quote
leksey
Графоман
Графоман
Joined: 17 Dec 2004
Posts: 1909
Location: Москва, Тушино




Ну ты под виндами, я под линухом.
И ты попутал - база изначально в UTF-8. (quizdata.txt 4.9 Мб)

В попытке запустить - я подсовывал и в UTF и UNICODE. На уникоде при запуске квиза все просто молча уходит..

P.S. Роман, если хочешь связаться, то в подписи указан мой реальный JID. Все без обману..

При попытке выполнить код:
Quote:
import sys
sys.setdefaultencoding('uft-8')

И под виндой и под линухом получаю буква в букву рыгалово:

Code:

AttributeError: 'module' object has no attribute 'setdefaultencoding'
View user's profile Send private message Send Jabber-message Visit poster's website HabaHaba - Fast communicate
глюк в neutron bot
JRuDevels Forum Index » Сообщения об ошибках [BugTraq]
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
All times are GMT + 3 Hours  
Page 1 of 4  
Goto page 1, 2, 3, 4  Next
  
  
 Post new topic  Reply to topic  


Powered by phpBB © 2001-2004 phpBB Group
phpBB Style by Vjacheslav Trushkin