Форум сайта python.su
Используется библиотека twisted, пишется ICQ бот.
Бот получает сообщение, например строку “hello”
Но условие всегда ложно. В чем может быть дело?
def receiveMessage(self, user, multiparts, flags):
print "\n< From: ", user.name
print "< Message: ", multiparts[0][0].decode('cp1251')
command = multiparts[0][0].lower().split(' ')
if command[0] == 'hello':
self.sendMessage(user.name, 'ur')
else:
self.sendMessage(user.name, 'shit')
Офлайн
в дебагере посмотри что в command прилетает, какой тип объекта?
Офлайн
наверное, перед/после hello есть что-то еще - хтмл теги или другой мусор.
Отредактировано (Янв. 10, 2011 03:40:28)
Офлайн
Да, посылаю символ ‘a’ из аськи, он получает ‘\x00a\x00\r\x00\n’, как с этим работать? Есть какие-нибудь готовые функции?
Офлайн
Это utf-16be
Офлайн
Андрей Светлов
Это utf-16be
>>> '\x00a\x00\r\x00\n'.decode('utf-16-be').strip() == 'a'
True
>>>
Офлайн