python + jabber. как получить оффлайн сообщение
Есть, конечно. Модуль xmpp.
У кого-нибудь есть джаббер-бот болтающий по icq-транспорту? Хочу заглушку поставить. Язык значения не имеет.
Посмотри в исходники gajim.
вроде моё сообщение - всего три строчки.
про xmpp я упомянул, что как там регаться я не нашёл.
либо предложи пример использования функциональности, либо ссылку на доку, либо выругайся матом, что совсем все зажрались не хотят исходники даже посмотреть.
иначе твоё сообщение не несёт особого смысла
про xmpp я упомянул, что как там регаться я не нашёл.
либо предложи пример использования функциональности, либо ссылку на доку, либо выругайся матом, что совсем все зажрались не хотят исходники даже посмотреть.
иначе твоё сообщение не несёт особого смысла
упс. это на заметл.
сейчас посмотрю
сейчас посмотрю
Хорошо лужу газифицировал. Ты не это вот ищешь? Смотреть функцию xmpp.features.register
$ python -c 'import xmpp
help (xmpp.features.register)' | cat
Help on function register in module xmpp.features:
register(disp, host, info)
Perform registration on remote server with provided info.
disp must be connected dispatcher instance.
Returns true or false depending on registration result.
If registration fails you can get additional info from the dispatcher's owner
attributes lastErrNode, lastErr and lastErrCode.
ага. оно.
спасибо.
я вот на этот мануал никак выйти не мог, хотя и догадывался, что он где-то существует
спасибо.
я вот на этот мануал никак выйти не мог, хотя и догадывался, что он где-то существует
вспоминая твои предыдущие вопросы, в других тредах, я понимаю, что ты сам никогда не ищешь 

это я знаю,
только кто ж его знает, что после xmpp. нужно написать, чтобы нужную инфу получить.
только кто ж его знает, что после xmpp. нужно написать, чтобы нужную инфу получить.
только кто ж его знает, что после xmpp. нужно написать, чтобы нужную инфу получить.
Кхе-кхе
Emacs знает

Достаточно просто знать про dir 

Там через dir не понятно. Я бы не догадался искать register именно в features.
но после долгих неудачных попыток, можно и на него обратить внимание
Вообще говоря Emacs лучше, если надо разбираться в исходниках:
Вот сейчас выковыриваю из MoinMoin модуль перевода викиразметки в docbook — там dir'ом не обойдешься.
Вот сейчас выковыриваю из MoinMoin модуль перевода викиразметки в docbook — там dir'ом не обойдешься.

Кстати, да. Чет тяжко. Максимум, что сходу хоть как-то работает, но есть некоторые проблемы с некоторыми пакетами:
from inspect import ismodule, ismethod, isfunction, isclass
from inspect import getmembers, getdoc, getmodule, getargspec
from imp import find_module, load_module
def reversemap(func, *arg):
for l in arg:
l.reverse
res = map(func, *arg)
res.reverse
return res
def test(what, where, cmpFunc):
members = getmembers(where, lambda o: ismethod(o) or isfunction(o
return [(where,n,v) for n,v in members if cmpFunc(what,n)]
def walk(what, where, cmpFunc, res=[], checked=[]):
if where not in checked:
checked.append(where)
res += test(what,where, cmpFunc)
if ismodule(where) and hasattr(where,'__all__'):
__import__(where.__name__,fromlist=where.__all__)
filter_ = lambda o: (ismodule(o) or isclass(o and o not in checked
for n,v in getmembers(where, filter_):
walk(what, v, cmpFunc, res, checked)
return res
def prettyPrint(listOfResults, noDocs):
for from_,member,obj in listOfResults:
if ismodule(from_):
print '%s:'%from_.__name__
else:
print '%s.%s'%(getmodule(obj).__name__, from_.__name__)
argSpec = getargspec(obj)
args = argSpec[0]
defs = list([str(a) for a in argSpec[3]] if argSpec[3] else [])
args = reversemap(lambda a,d: '%s=%s'%(a,d) if d else a, args, defs)
print '%s(%s)'%(member, ','.join(args
if not noDocs:
print getdoc(obj)
print '---------------'
#public wrapper
def search(what, modName, noDocs=True):
where = __import__(modName, fromlist=['*'])
cmpFunc = lambda a, b: a in b
prettyPrint(walk(what,where,cmpFunc noDocs)
from u import search
search('parse','xml')
а почему работает
user='server.com'
jid = xmpp.protocol.JID(user)
cl = xmpp.Client(jid.getDomaindebug=[])
cl.connect
cl.auth(jid.getNode pwd)
cl.send(xmpp.protocol.Message('server2.com','test'
хотя функции send нет ни в документации, ни в исходниках?
как послать сообщение, кроме как этой функцией?
как послать сообщение, открыв чат? нужно добавить typ='chat'.
emacs - это редактор текстовый?
user='server.com'
jid = xmpp.protocol.JID(user)
cl = xmpp.Client(jid.getDomaindebug=[])
cl.connect
cl.auth(jid.getNode pwd)
cl.send(xmpp.protocol.Message('server2.com','test'
emacs - это редактор текстовый?
как послать сообщение, открыв чат?
cl.send(xmpp.protocol.Message('server2.com', 'test', typ='chat'Другие способы - какой-нить высокоуровневый интерфейс поищи в доках
Или пакетом pyxmpp

upd апиридил

а можно как-нибудь прочитать сообщения, которые в оффлайне мне прислали?
что-то перерыл gajim, не могу понять, где он это делает.
что-то перерыл gajim, не могу понять, где он это делает.
полезно иногда выяснять ответы на вопросы самостоятельно. По вопросу думаю, что всё зависит от сервера.
сервак это позволяет делать.
онлайн-сообщения нормально доходят, а вот для тех, которые на серваке лежат, видимо нужно какое-то iq сообщение послать
вот это почитал, но там ничего не нашёл. (возможно плохо читал)
http://www.xmpp.org/rfcs/rfc3920.html
http://www.xmpp.org/rfcs/rfc3921.html
онлайн-сообщения нормально доходят, а вот для тех, которые на серваке лежат, видимо нужно какое-то iq сообщение послать
вот это почитал, но там ничего не нашёл. (возможно плохо читал)
http://www.xmpp.org/rfcs/rfc3920.html
http://www.xmpp.org/rfcs/rfc3921.html
оказалось, что оффлайн сообщения получаются также как и онлайн.
просто я очень быстро отконнекчивался и не успевал прочитать сообщение.
просто я очень быстро отконнекчивался и не успевал прочитать сообщение.
Оставить комментарий
Phoenix
см. ниже=========
субж.
чтобы можно было зарегаться и отослать сообщение
в обычной xmpp я что-то не нашёл ни доки, ни как регаться в примерах