Бот "новинки" |
Здравствуйте, гость ( Вход | Регистрация )
Бот "новинки" |
9.11.2008, 21:10
Сообщение
#1
|
|
Участник Группа: Пользователи Сообщений: 32 Регистрация: 4.11.2008 Пользователь №: 983 Спасибо сказали: 1 раз |
Помогите переделать скрипт под птоху новой версии PtokaX 0.4.1.1
Буду очень признателен...
Прикрепленные файлы
|
|
|
9.11.2008, 21:55
Сообщение
#2
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
MsgBoard Lua v3.1 ?
А под какой птокой он у тебя ходит, если не секрет? |
|
|
10.11.2008, 1:22
Сообщение
#3
|
|
Участник Группа: Пользователи Сообщений: 32 Регистрация: 4.11.2008 Пользователь №: 983 Спасибо сказали: 1 раз |
он стоял на Verli Hub но хотелось бы его поставить на птаху, но вот он неподходит
|
|
|
10.11.2008, 1:31
Сообщение
#4
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Есть вот какой ботик. Переделан из гостевой книги, сделаной размашисто, от широкой души и с юмором. ))) Сконвертировать под API2 думаю проблемы не составит, тут тема конвертации где-то неоднократно поднималась.
А к корифеям попутный вопрос: т к я честно скажу, в архитектуре данного скрипта вообще ничего не понимаю, не допишете ли искусства ради функцию получения юзером при входе, например, трех крайних записей раздела "Релизы"? Только упаси Бог не в личку, знаю, как бесят рядовых нормальных юзеров сообщения в личку при входе на хаб.
Прикрепленные файлы
|
|
|
11.11.2008, 0:35
Сообщение
#5
|
|
Главный ра******й тут... Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз |
По поводу архитектуры ты прав, просто сумашедший гений писал этот скрипт... Он еще и оооочень криво написан! Но я все-таки прикрутил требуемую функцию, пробуй
Прикрепленные файлы
|
|
|
11.11.2008, 9:14
Сообщение
#6
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Nickolya
Снимаю шляпу ;) Говорил же, знающему человеку - труда особого не составит... А я - что такое "wtf"-то узнал только неделю назад, от отдного мегахакера Единственно, чего не понял спросонья - почему ОПы получают новости тоже, несмотря на то, что нет OpConnected = NewUserConnected, и быть не должно в общем-то. Потом пригляделся - вот она хитрая строчка: Цитата OpConnected = function(user) NewUserConnected(user) Надо взять на вооружение ) ну и добавил условие if user b.registered then для получения 3-х крайних записей - если человек не зарегистрирован, то может ему и неинтересно, и незачем тогда. |
|
|
11.11.2008, 18:14
Сообщение
#7
|
|
Участник Группа: Пользователи Сообщений: 32 Регистрация: 4.11.2008 Пользователь №: 983 Спасибо сказали: 1 раз |
так а мне то помогут?!
|
|
|
11.11.2008, 22:02
Сообщение
#8
|
|
Постоялец Группа: Пользователи Сообщений: 454 Регистрация: 17.10.2008 Из: Новосибирск Пользователь №: 825 Спасибо сказали: 90 раз |
Herurg
По-моему, выложенный Bulletin переделать, да еще и под новый АПИ нереально. Поэтому и предложил альтернативный, схожий вариант... Хотя, может, сути этого bulletina просто не понял. ---------------------------------------------------------------------------------------------------------- Охо-хо, сам плохо понял, что именно сделал, но идея была такая: чтобы сообщения о новых поступлениях юзер получал, как бы это выразиться, не каждый раз при заходе на хаб. Чтобы оскомину не набивали. Увязывать с os.date - опыта пока маловато, в общем, соорудил примитивный счетчик, вот крайняя часть кода. Работать работает, прореживает, правда, сам пока не пойму, как именно Наверное, нужно раздвигать значения if t==0 or t==4, как-то увязав их с числом входов и выходов посетителей (UserDisconnected ведь реагирует на все события дисконнектов, всех юзеров, так?) Может, кто возьмется прокомментировать и посоветовать? Код NewUserConnected = function(user)
user:SendData("$UserCommand 1 2 "..wMenu.."\\Объявления\\Смотреть$<%[mynick]> !news||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Объявления\\Добавить$<%[mynick]> !addnews %[line:Введите текст вашего сообщения:]||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Запросник\\Смотреть$<%[mynick]> !showrequests||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Запросник\\Добавить$<%[mynick]> !addrequest %[line:Введите текст вашего сообщения:]||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Релизы\\Смотреть$<%[mynick]> !showreleases||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Релизы\\Добавить$<%[mynick]> !addrelease %[line:Введите описание и магнет на релиз:]||") if user.bRegistered then if t = 0 or t = 4 then showshit2(user,entries,gbname,gbfile,levgbcmd1,"MAIN") end end end -- меню для ОПов OpConnected = function(user) NewUserConnected(user) user:SendData("$UserCommand 1 2 "..wMenu.."\\Объявления\\Удалить$<%[mynick]> !delnews %[line:Введите номер записи:]||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Запросник\\Удалить$<%[mynick]> !delrequest %[line:Введите номер записи:]||") user:SendData("$UserCommand 1 2 "..wMenu.."\\Релизы\\Удалить$<%[mynick]> !delrelease %[line:Введите номер записи:]||") end iWeNeedNumberCount = 3 -- кол-во записей нужных нам function showshit2(user,container,wtf,file,cmdlevel,env) if cmdlevel~=0 then if CheckUserLevel(user) >= cmdlevel then local container=loadshit(file) local msg="\r\nПеред вами "..iWeNeedNumberCount.." последние записи из Новости-Релизы (см. меню на правой кнопке) :\r\n\r\n" if number>0 then local iToDo if number <= iWeNeedNumberCount then iToDo = 1 else iToDo = number - iWeNeedNumberCount + 1 end for i=iToDo,number do s,e,who,when,entry=string.find(container[i], "(.+)|(.+)|(.+)") msg=msg..i..".\t"..who.." - "..when.." ---> "..entry.."\r\n" end user:SendData(Bot,msg) end end end end t = 0 function UserDisconnected(user) t = t + 1 if t = 5 then t = 0 end end OpDisconnected = UserDisconnected |
|
|
Похожие темы
|
Сейчас: 27.11.2024, 6:13 |