Доброе время сутак) В dc-клиенте Greylink есть такая шляпа - GetUserInfo(uid) -- что то вроде апи в скриптах часто вижу userinfo.ME, userinfo.NI собственно, что означает ME, NI? и почему нельзя выполнить такую конструкцию, чтобы узнать что она возвращает
привел к tostring эту переменную userinfo, вернула nil видимо что то надо писать в этом параметре (cid) и что он означает вообще?
Автор: Setuper 17.5.2012, 9:39
Думаю для начала следовало бы прочитать вот это:
ME - это признак тебя (если этот юзер ты, то равно "1", иначе nil). NI - это ник юзера.
Функция DC():GetUserInfo(uid) возвращает объект "юзер" по его uid. uid можно получить из аргумента функции-события:
Код
dcpp = {} function dcpp.OnPublicMessage(uid, data) local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") end
Автор: Enyby 17.5.2012, 9:46
1. 2.
Код
local hub_name = dc_huburl -- "127.0.0.1" local users = DC():GetUsers(hub_name) local user = DC():GetUserInfo(users[math.random(1,#users)]) DC():SendPublicMessage(hub_name, '---------------------------') for k,i in pairs(user) do DC():SendPublicMessage(hub_name, k..' = '..i) end DC():SendPublicMessage(hub_name, '---------------------------')
3. ME - флаг того, что этот юзер - ты. NI - ник юзера. DE - описание VE - версия клиента TAG - тэг клиента SSshort - краткое название шары SS - шара в байтах LOC - строка месторасположения I4 - IPv4 адрес HL - адрес хаба OP - флаг оператора EM - e-mail SL - слоты
4. Вот еще описание этих значений: http://mydc.ru/index.html?showtopic=1983&view=findpost&p=15998
UPD: Долго писал. Setuper обскакал.
Автор: Lamo 19.5.2012, 12:00
Цитата(Setuper @ 17.5.2012, 10:39)
Код
dcpp = {} function dcpp.OnPublicMessage(uid, data) local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") end
еще вопрос такой, как эту функцию завершить? она выполняется я так понял бесконечное число раз(выводит строку test) а как сделать так чтобы она выполнила только одну итерацию(один вывод test) и завершилась?
Автор: Enyby 20.5.2012, 7:08
Код
dcpp = {} function dcpp.OnPublicMessage(uid, data) local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") dcpp = {} end
или
Код
dcpp = {} flag = true function dcpp.OnPublicMessage(uid, data) if flag then local user = DC():GetUserInfo(uid) DC():SendPublicMessage(user.HL, "test") flag = false end end