myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Whisper, ?

Теги
Нет тегов для показа
district
сообщение 17.11.2008, 3:51
Сообщение #1


Постоялец
******

Группа: Пользователи
Сообщений: 454
Регистрация: 17.10.2008
Из: Новосибирск
Пользователь №: 825
Спасибо сказали: 90 раз




Ребята.. ноги стер в поиске, где тут были выложены эти скрипты под старый и новый АПИ.
А может, и не здесь брал (?). Поэтому пришлось создать новый топик. Пусть администрация поправит, если что.

Поюзал тот, что для старого АПИ, нашел серьезнейший косяк.

Если юзер, кому отправляется сообщение, оффлайн, то отправляется репорт: такой-то юзер (в оригинале - "..who..") оффлайн.
Загадочный параметр who в строке репорта приводил в этом случае к ошибке, скрипт вылетал.
Пробовал так и сяк, плюнул, убрал это "ху" из репорта. Может, кто допишет, как правильно должно быть, чтобы и имя этого "оффлайн-юзера" отображалось тоже.
Вот рабочий вариант под API1.
Прикрепленные файлы
Прикрепленный файл  Whisper___API_1___.lua ( 1.47 килобайт ) Кол-во скачиваний: 5
 
Go to the top of the page
+Quote Post
Sephiroth_Lukaw
сообщение 17.11.2008, 4:44
Сообщение #2


Освоившийся участник
*****

Группа: Пользователи
Сообщений: 307
Регистрация: 11.7.2008
Пользователь №: 173
Спасибо сказали: 31 раз




Цитата("district")
где тут были выложены эти скрипты под старый и новый АПИ
http://mydc.ru/topic108.html
А ошибки у меня не вылетают, хотя, проверки на nil там нет. И скрипт бъёт ошибку, лишь только, если скрипт используется без параметров или если перед ником поставить пробел.
У меня вот на что исправлено:
Код
    local _,_,cmd,sNext = data:find("^%b<> %p(whisper)(.*)")
        if cmd then
            local _,_,who,msg = string.find(sNext, "%s+(.-)%s+(.*)|")
            if msg == nil then
               user:SendData("<"..Bot.."> Вы не ввели текст сообщения")
            return 1
            end
            who = who or ""
за место
Код
        local _,_,cmd = data:find("^%b<> %p(whisper)")
        if cmd then
            local _,_,who,msg = string.find(data, "%b<> [%p][%a]+ ([^ ]+) ([^|]+)|")
мб, мой вариант чем-то плох.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts Topic has attachmentsWhisper
Eximius
0 Артём 3 792 5.7.2010, 20:58 Посл. сообщение: Артём
No New Posts Topic has attachmentsWhisper
API1, API2 | Позволяет отсылать приватные сообщения в мейн чате
1 rus.region78 10 275 12.7.2009, 22:34 Посл. сообщение: Wariner
No New Posts Topic has attachmentsОт: Whisper
От темы с ID: 108
13 dimetrius 12 854 9.7.2009, 18:20 Посл. сообщение: Артём

 



RSS Сейчас: 28.4.2024, 20:03