Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Скрипты для RusHub'а _ FirstRusHubBot

Автор: Nickolya 2.1.2010, 4:33

Итак, выкладываю скрипт дающий пока небольшой функционал для управления новоиспеченным RusHub'ом.

Что сделано:


Получилась гибкая легко изменяемая система, команды лежат в файле cmds.lua, по шаблону легко добавляется что угодно. Так же возможные настройки: имя бота и хабтопик, можно задать какие профили будут иметь ключик, за это отвечает параметр bHaveKey таблицы tProfiles что находится в самом начале файла FirstRusHubBot.lua. Пока все, позже будет больше, тестируйте. Для того чтобы стать админом необходимо зарегистрироваться, залезть в файл RegUsers.dat, поменять там параметр ["iProfile"] на 0 рядом с нужным ником, затем перезагрузить скрипты.

Изменения в версии 0.2 по сравнению с предыдущей:
  1. Исправлена совместимость с текущей версией хаба
  2. Ввиду поправленого косяка с функцией скриптов теперь работает управление скриптами
  3. Мониторинг команд профиля, чтобы профиль ниже рангом не мог воздействовать на пользователя имеющего профиль выше
  4. Раширены команды управления регистрацией: пользователь теперь может смотреть свой айпи, администраторы могут смотреть пароли, изменять профиль (забыл про смену пароля юзеру, это записано в todo) и удалять регистрацию пользователей
  5. Команда отключения юзера от хаба


Вот возможности профилей по умолчанию в скрипте на текущую версию:
Администратор
<RusHubBot> *** Доступные вам команды:

*** Команды вашего профиля "администратор":

!mypass - напоминает пароль для входа на хаб. Альтернативы: !мойпароль
!changepass <новый пароль> - меняет пароль необходимый для входа на хаб. Альтернативы: !сменитьпароль
!seepass <ник> - позволяет посмотреть пароль пользователя. Альтернативы: !смотретьпароль
!addreguser <ник> <пароль> <профиль> - добавляет регистрацию ника с заданым паролем и профилем. Альтернативы: !добавитьюзера
!changereguser <ник> <профиль> - меняет профиль у указанного ника. Альтернативы: !поменятьюзера
!delreguser <ник> - удаляет регистрацию пользователя. Альтернативы: !удалитьюзера
!getscripts - показывает список всех скриптов. Альтернативы: !скрипты, !получитьскрипты
!restartscripts - перезапускает все скрипты. Альтернативы: !перезапускскриптов
!startscript <имя скрипта> - запускает указанный скрипт. Альтернативы: !запуститьскрипт
!restartscript <имя скрипта> - перезапускает указанный скрипт. Альтернативы: !перезапуститьскрипт
!stopscript <имя скрипта> - останавливает указанный скрипт. Альтернативы: !остановитьскрипт
!drop <ник> - отключает от хаба выбранного пользователя. Альтернативы: !отключить

*** Глобальные команды:

!help - вот эта справка по командам. Альтернативы: !помощь
!myip - покажет вам ваш ip-адрес. Альтернативы: !мойайпи, !мойип
!me <сообщение> - отправить в чат сообщение от 3 лица. Альтернативы: !ми, !я

Оператор
<RusHubBot> *** Доступные вам команды:

*** Команды вашего профиля "оператор":

!mypass - напоминает пароль для входа на хаб. Альтернативы: !мойпароль
!changepass <новый пароль> - меняет пароль необходимый для входа на хаб. Альтернативы: !сменитьпароль
!seepass <ник> - позволяет посмотреть пароль пользователя. Альтернативы: !смотретьпароль
!addreguser <ник> <пароль> <профиль> - добавляет регистрацию ника с заданым паролем и профилем. Альтернативы: !добавитьюзера
!changereguser <ник> <профиль> - меняет профиль у указанного ника. Альтернативы: !поменятьюзера
!delreguser <ник> - удаляет регистрацию пользователя. Альтернативы: !удалитьюзера
!getscripts - показывает список всех скриптов. Альтернативы: !скрипты, !получитьскрипты
!restartscript <имя скрипта> - перезапускает указанный скрипт.
!stopscript <имя скрипта> - останавливает указанный скрипт.
!drop <ник> - отключает от хаба выбранного пользователя. Альтернативы: !отключить

*** Глобальные команды:

!help - вот эта справка по командам. Альтернативы: !помощь
!myip - покажет вам ваш ip-адрес. Альтернативы: !мойайпи, !мойип
!me <сообщение> - отправить в чат сообщение от 3 лица. Альтернативы: !ми, !я

vip
<RusHubBot> *** Доступные вам команды:

*** Команды вашего профиля "VIP":

!mypass - напоминает пароль для входа на хаб. Альтернативы: !мойпароль
!changepass <новый пароль> - меняет пароль необходимый для входа на хаб. Альтернативы: !сменитьпароль
!drop <ник> - отключает от хаба выбранного пользователя. Альтернативы: !отключить

*** Глобальные команды:

!help - вот эта справка по командам. Альтернативы: !помощь
!myip - покажет вам ваш ip-адрес. Альтернативы: !мойайпи, !мойип
!me <сообщение> - отправить в чат сообщение от 3 лица. Альтернативы: !ми, !я

Пользователь
<RusHubBot> *** Доступные вам команды:

*** Команды вашего профиля "пользователь":

!unreg - удалить свою регистрацию на хабе. Альтернативы: !удалитьрегистрацию
!mypass - напоминает пароль для входа на хаб. Альтернативы: !мойпароль
!changepass <новый пароль> - меняет пароль необходимый для входа на хаб. Альтернативы: !сменитьпароль

*** Глобальные команды:

!help - вот эта справка по командам. Альтернативы: !помощь
!myip - покажет вам ваш ip-адрес. Альтернативы: !мойайпи, !мойип
!me <сообщение> - отправить в чат сообщение от 3 лица. Альтернативы: !ми, !я

Гость
<RusHubBot> *** Доступные вам команды:

*** Команды вашего профиля "гость":

!regme <пароль> - зарегистрироваться на хабе. Альтернативы: !регми, !зарегистрироваться

*** Глобальные команды:

!help - вот эта справка по командам. Альтернативы: !помощь
!myip - покажет вам ваш ip-адрес. Альтернативы: !мойайпи, !мойип
!me <сообщение> - отправить в чат сообщение от 3 лица. Альтернативы: !ми, !я


 FirstRusHubBot_v0.2.rar ( 7.59 килобайт ) : 322
 

Автор: knuckles 2.1.2010, 17:04

я скачал файл кинул папку skript. а потом начинаю активировать скрипт. и пишет ошибку критическую хотя я ничего неделал в скрипте ?

Автор: Setuper 2.1.2010, 18:55

knuckles, этот скрипт написан под RusHub, а не под PtokaX !

Насчет ветки, думаю можно в ближайшее время. А пока могут быть некоторые незначительные изменения api, поэтому, дабы не переписывать по 10 раз скрипты, прямо сейчас, я думаю, не стоит открывать ветку.

Автор: Nickolya 5.1.2010, 7:47

Выложил версию 0.2, все изменения в первом посту, пользуйтесь.

Автор: Setuper 5.1.2010, 13:27

Ух... Отличная работа!
Единственное только профили сделаны как в птохе:
-1 - анрег
0 - админ
1 - оп
2 - вип
3 - рег

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

Тогда будет иерархическая лестница. И для проверки различных доступов можно будет применять всего одну операцию сравнения. Думаю это логичнее и оптимальнее.

Автор: Wariner 5.1.2010, 14:28

а если сделать как у Колюхи, токо выкинуть профиль анрегов... нафиг он им вообще? т.е. если нет профиля значит анрег)))

Илюх если сделать как у тебя, то мне кажется возникнет проблема с добавлением профилей...

Автор: Setuper 5.1.2010, 14:47

Просто в скрипте итак всё построено на знаке сравнения профилей. Поэтому речь о добавлении какого-то ещё профиля тут в принципе не идёт, так как в этом случае порушится вся задумка

Автор: Wariner 5.1.2010, 15:03

но надо сделать так чтоб система профилей была гибкой, а не привязанной к определённому числу....

Автор: Setuper 5.1.2010, 15:45

Тогда для иерархической лестницы предлагаю ввести ранее мною упомянутое понятие класса. То есть ставить профилю в соответствие иерархическое значение класса, и проверять права на использование того или иного действия используя команду сравнения для классов, а не для профилей.

Классы можно будет перестраивать после добавления нового профиля. В этом нет проблем, так как классы можно хранить как индексы таблицы, а профили как значения в таблице и добавлять новый класс при помощи функции table.insert(table, class, profile), сдвигая тем самым значения прочих классов.

До добавления нового профиля:

профиль <=> класс
--------------------------
-1(анрег) <=> 1
0(админ) <=> 5
1(оп) <=> 4
2(вип) <=> 3
3(рег) <=> 2

После добавления:

профиль <=> класс
--------------------------
-1(анрег) <=> 1
0(админ) <=> 6
1(оп) <=> 4
2(вип) <=> 3
3(рег) <=> 2
4(модер) <=> 5

Автор: KamoK 7.1.2010, 12:10

Чета непашет у меня етот скрипт(((
Платформа хаба очень понравилась
как тока будут нормальные модули и скрипты сразу переву свой хаб на него)))

Автор: STRELOK 7.1.2010, 12:16

В связи с выходом новой версии хаба и плагина изменились пути до файлов. Чтобы скрипт заработал, необходимо открыть файл FirstRusHubBot.lua и

Код
    sMainDir = Core.GetMainDir()
    sScriptsDir = Core.GetScriptsDir()

поменять на
Код
    sMainDir = Core.sMainDir
    sScriptsDir = Core.sScriptsDir

Автор: Nickolya 7.1.2010, 17:41

Цитата
Для того чтобы стать админом необходимо зарегистрироваться, залезть в файл RegUsers.dat, поменять там параметр ["iProfile"] на 0 рядом с нужным ником, затем перезагрузить скрипты.
Простите, сейчас немного занят, попробую вскоре сделать новую версию с более широкими возможностями и настройками хаба.

Автор: Setuper 5.3.2010, 19:20

Немного отредактировал скрипт. Добавил строку, отвечающую за отсылку ip адресов всех пользователей операторам, а также добавил функцию ContextMenu для использования совместно со скриптом http://mydc.ru/topic3085.html. По умолчанию контекстные менюшки отсылаются при входе. Если у вас установлен скрипт ContextMenu.lua, то для того чтобы менюшки отсылались только по команде, а не при входе нужно в конце функции OnUserEnter закомментировать строку ContextMenu(UID).

Автор: Otshelnik-Fm 5.3.2010, 20:12

Когда заккоментировал строку

Код
--Core.SendToUser(UID, sMenu)
, то не отсылается меню "прислать менюшку" если раскомментировать ее (то есть оставить так как было) - то отсылается пользователю "прислать менюшку" но и остальное меню (от FirstRusHubBot) приходит с нею.

Автор: Saymon 5.3.2010, 20:18

перекачай, у меня сейчас всё нормально.

Автор: Setuper 5.3.2010, 20:18

Скрипт ContextMenu.lua не трогаем. Я говорил про комментирование строки в текущем скрипте!

Автор: Otshelnik-Fm 5.3.2010, 20:22

Спасибо. А я с дуру закомментировал в ContextMenu.lua . FirstRusHubBot.lua - его отредактировать надо. Работает.

Автор: Setuper 5.3.2010, 20:22

В текущем скрипте (FirstRusHubBot) есть функция OnUserEnter. В самом конце этой функции есть вызов функции ContextMenu:

Код
function OnUserEnter(UID)
  ...
  ContextMenu(UID)
end

Комментируем этот вызов:
Код
function OnUserEnter(UID)
  ...
  --ContextMenu(UID)
end


Я оставил этот вызов в скрипте незакомментированным, так как FirstRusHubBot - основной бот и иногда просто необходимо чтобы этот скрипт работал и были доступны только его функции.

Автор: lewonchik 11.3.2010, 18:22

Код
[Thu Mar 11 20:18:42 2010] E:/VESSEL~1/scripts/FirstRusHubBot.lua:106: attempt to index field '?' (a nil value)

Выскочила ошибка, прошу помочь исправить...

Автор: Setuper 11.3.2010, 19:18

в 106 строчке вместо:

Код
if tProfiles[iProfile].bHaveKey then
напиши:
Код
if tProfiles[iProfile] and tProfiles[iProfile].bHaveKey then


А вообще, эта ошибка означает, что у тебя в таблице tProfiles описаны не все профили, которые используются.
По всей видимости есть какой-нибудь профиль с номером 4 (какой-нибудь модератор) big_smile.gif

Автор: lewonchik 11.3.2010, 19:29

Цитата(Setuper @ 11.3.2010, 21:18) *
А вообще, эта ошибка означает, что у тебя в таблице tProfiles описаны не все профили, которые используются.
По всей видимости есть какой-нибудь профиль с номером 4 (какой-нибудь модератор) big_smile.gif

Точно, спасибо большое за помощь, прописал все профили и ошибка пропала!!!

Автор: Drakula 8.5.2010, 20:29

Всё отлично работает НО хотелось бы увидеть баны + определения мак-адреса + бан по мак адресу.
P.S. А реально реализовать бан по Айди???

Автор: Nickolya 10.5.2010, 13:54

Хорошо что работает как надо big_smile.gif Никак руки не доходят до бота, баны будут обязательно. По маку банить можно будет если он будет известен. Что касается АЙДИ, то откуда ты его возьмешь?

Автор: Drakula 10.5.2010, 14:25

(Про айди)Так вот я и у тебя и спрашиваю возможно ли это как нибудь реализовать=)) А вот по мак адресу это уже неплохо. Не каждому в голову допрёт что в ДЦ можно по маку банить.

P.S. сор что не по теме, а в PtokaX возможно реализовать бан по МАК-адресу??? Если да то отпиши плиз в ЛС что бы не захламлять тему. Заранее сенк.

Автор: Nickolya 11.5.2010, 10:31

Понятия ID нету в протоколе NMDC, так что банить по нему нельзя, по маку банить можно только в пределах сети где стоит хаб, это уже обсуждалось неоднократно, в птоке это не реализуемо. Если интересно - поищи по форуму.

Автор: Saymon 28.10.2010, 20:36

Предложения:
1) гаги, баны, какие возможно)
1.1) + к этому лог банов, киков, гагов (когда, кем, за что был забанен или кикнут)
2) убрать название профиля в меню. Пусть лучше будет отдельно.
3) добавить переменную "посылать мотд или нет"
4) оп чат
5) Меню управления скриптами типа как http://mydc.ru/topic3767.html и при перезапуске, запуске, остановке отдельного скрипта я думаю не нужно показывать список всех скриптов....
6) текстовые файлы..
7) переменная использовать ли ContextMenu
8) скрытие из списка юзеров.
9) антиреклама.
10) команды остановить/перезапустить хаб
11) проверка обновлений хаба и Lua плагина
12) чистка регистраций

Автор: Артём 28.10.2010, 20:44

+ бан IP диапазон
-

Цитата
я думаю не нужно показывать список всех скриптов...
( почему цитата больше текста? what.gif )

Автор: Saymon 19.12.2010, 19:02

Добавил троечку команд.

Цитата
*** Команды вашего профиля "администратор":
!restarthub - пезапуск хаба. Альтернативы: !перезапуститьхаб
!hubshutdown - остановка хаба. Альтернативы: !отключитьхаб

И для всех профилей:
Цитата
!uptime - показать время работы хаба. Альтернативы: !аптайм

Достаточно заменить всего два файла в папке бота. big_smile.gif

 cmds.lua ( 23.54 килобайт ) : 51
 functions.lua ( 3.49 килобайт ) : 48
 

Автор: Din 14.1.2011, 3:09

Доброго времени суток. Я новичёк, только установил и запустил RusHub, скачал этот скрипт, разархивировал, кинул в папку со скриптами. Ничего не произошло, просто голый хаб ничего нового не добавилось. Такой вот вопрос - как активировать скрипт? И как перезапустить скрипт?

Автор: Saymon 14.1.2011, 3:12

Din, http://mydc.ru/r/?http://wiki.mydc.ru/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_RusHub_%D0%BD%D0%B0_Windows_%D0%B8_Ubuntu_10.04

Автор: Darksome 26.2.2011, 16:44

потестировал данный скрипт и заметил, что нет проверки на повторный вход: если войти с (зарегистрированным) именем пользователя, который уже подключен к хабу, то первого вошедшего выкидывает с хаба. если первый делает переподключение, то выкидает второго и так до бесконечности могут выкидывать друг друга big_smile.gif
конечно это можно использовать и как фичу.
немного поковырял скрипт и добавил туда

Код
function OnValidateNick(UID, sData)
    local sNick = UID.sNick
    local tLUsers = Core.GetUsers()
    for i, sLUser in ipairs(tLUsers) do
        if sLUser.sNick == sNick  then
            Core.SendToUser(UID, "*** Doppelganger - No pasaran!", sBot) -- Отсылаем сообщение о дубликате
            Core.SendToUser(UID, "$ValidateDenide")
            Core.Disconnect(UID) -- Разъединяем пользователя
            return false
        end
    end
    local tRegInfo = tRegUsers[sNick] -- Получаем регистрационные данные

... далее по тексту

правда LUA я не знаю и рисовал по подобию - не знаю насколько "коряв" полученный результат, но вроде работает big_smile.gif

в отношении привелегий профилей: запретить манипулировать не только вышестоящими профилями, но и себе равными - т.е. только нижестоящими - ИМХО так правильнее будет (себе я так и сделал)

Автор: Alexey 26.2.2011, 17:57

Цитата(Darksome @ 26.2.2011, 16:44) *
нет проверки на повторный вход: если войти с (зарегистрированным) именем пользователя, который уже подключен к хабу, то первого вошедшего выкидывает с хаба. если первый делает переподключение, то выкидает второго и так до бесконечности могут выкидывать друг друга big_smile.gif
конечно это можно использовать и как фичу.

А разве в других хабах по-другому?
Это и есть фича: подвисший юзер не помешает зайти в хаб живому.

Автор: Darksome 26.2.2011, 19:03

я имел ввиду - заходя с другой машины/места вытеснятся текущий живой пользователь вместо сообщения, что ник уже занят
а подвисшего юзера прибивает сам хаб или не?

Автор: Alexey 26.2.2011, 19:55

Сам, но не всегда сразу. И часто слышны жалобы от незарегистрированных пользователей о том, что их выкинуло из хаба и не пускает обратно по причине занятого ника.

Автор: mod 3.3.2011, 15:44

При нажатии на "Посмотреть скрипты", все норм, но в строке "Папка, содержащая скрипты:" не отображается папка, просто пусто.

Автор: Saymon 9.3.2011, 2:58

Для тех кто не знает в какой папке у них скрипты делаем так:
в файле cmds.lua находим строку:

Код
table.multiinsert(tMsg, "\n*** Общее использование памяти скриптами: ", iMemory, " Кб\n", "*** Папка, содержащая скрипты: ", sScriptsDir, "\n")

И меням sScriptsDir на sThisScriptDir или на Core.sScriptsDir

Автор: Hellsing 2.4.2011, 21:41

Всё отлично, спасибо за скрипт, единственное либо это шутка, либо чуть поспешил) если не шутка, то поправьте пожалуйста. Не сочтите за грубость или подстрекание, случайно обнаружил

Код
local tMsg = {"*** Время хабы хаба: ", GetNormalTime(Core.GetUpTime())}

Автор: Saymon21 2.4.2011, 22:01

и? Что не так то?

Автор: Артём 2.4.2011, 22:22

скорей всего, его смутило

Цитата
*** Время хабы хаба:


Hellsing, это не смертельно и на работу скрипта и хаба не влияет big_smile.gif

Автор: Saymon21 3.4.2011, 0:03

Блин, ну пиши подробней. Что не так?

Автор: Andrean 3.4.2011, 2:50

Видимо все-таки стоит написать "Время работы хаба" , а не "Время хабы хаба" ))

Автор: CrazyKiller 14.5.2011, 23:02

Хотелось-бы видит в данном скрипте !

1) Сообщение в глав чате о не зарегистрированных людях, с просьбой зарегистрироваться, ну и после Регистрация вывод сообщение в глав чат что зарегистрировался новый пользователь с ником таким-та.
2) Возможность Регистрация через Email.
3) Может глупа, но привязку айпи к нику ( Регистрация ) тоже не помешало, не по принуждение а по выбору.
4) возможность Регистраций Через Вебку, да сложно, но удобно для веб ресурсов ! big_smile.gif

не подумайте не чего лишнего, это всего предложение ! big_smile.gif

Автор: CrazyKiller 29.7.2011, 19:41

I Need Help !

Log ./scripts/FirstRusHubBot/cmds.lua:179: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead

Строка Core.SetUser(tUser.UID, 1, iRegProfile)

Работал Работал, и на тебе ! big_smile.gif

Ошибка не мешает, но все ровно ошибка есть ошибка big_smile.gif

Проявляется когда регистрируешь нового юзера.

Выручите подсказкой пожалуйста !

Автор: Saymon21 29.7.2011, 19:43

Это не ошибка, а варнинг - педупреждение!!! Написано же Use 'UID[sName] = Value' instead - Используйте...

Автор: Dimon21 30.7.2011, 12:24

Версия RusHub 2.3.5 выходит ошибка в логе.
Core.SetUser(UID, 4, true)
Core.SetUser(UID, 6, true)
Core.SetUser(UID, 1, tRegInfo.iProfile) -- Устанавливаем профиль пользователю
LUA API функции найдена Core.SetUser(UID/sNick, iType, Value) Функция устарела.
Используйте вместо неё прямую установку параметров: UID[sName] = Value или Core.GetUser(sNick)[sName] = Value, где sName - это одна из строк: "iProfile", "sMyINFO", "sData" и тд.
У меня не вышло.Запрос пароля идёт а определяет как не зарегистрированый юзер Функция Core.GetUser(sNick).Помогите!

Автор: Setuper 30.7.2011, 12:46

Так в первом посту ведь скрипт исправленный уже довольно давно приложен!

Автор: Dimon21 30.7.2011, 13:35

Setuper спс

Всё таки скрипт не доработан. Есть ошибки. Cmds 105 строка регистрация ...sHub-2.3.5/scripts/FirstRusHubBot/cmds.lua:105: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead выходит такая ошибка
Core.SetUser(tUser.UID, 1, iRegProfile) не изменён
Удаление регистрации ...sHub-2.3.5/scripts/FirstRusHubBot/cmds.lua:141: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead
Core.SetUser(tUser.UID, 1, -1) 141 строка не изменена

Автор: Setuper 30.7.2011, 14:01

Ну так замени на:

tUser.iProfile = iRegProfile
tUser.iProfile = -1

Автор: Dimon21 30.7.2011, 14:11

Setuper большое спс.Теперь бот полностью работоспособен.

Автор: Dimon21 2.8.2011, 22:15

Setuper помоги мне с ещё 1 ошибкой.
команда смены профиля пользователя админами
Core.SetUser(tUser2.UID, 1, iProfile)
команда удаления пользователя админами
Core.SetUser(tUser2.UID, 1, -1)
Чем их заменить
Core.SetUser(tUser2.UID, 1, iProfile) на это tUser.iProfile = iRegProfile
Core.SetUser(tUser2.UID, 1, -1) на это tUser.iProfile = -1

Автор: Angel_D 13.9.2011, 8:41

Вроде все работает. Разве что на RussHub-е 2.3.6 наблюдаем в логах...

Цитата
[Mon Sep 12 18:18:27 2011] ...les/RusHub/scripts/FirstRusHubBot/cmds.lua:105: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead
[Mon Sep 12 18:45:14 2011] ...les/RusHub/scripts/FirstRusHubBot/cmds.lua:105: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead
[Mon Sep 12 19:23:20 2011] ...les/RusHub/scripts/FirstRusHubBot/cmds.lua:105: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead

Автор: kma21 13.9.2011, 18:58

Ничего в программировании не понимаю, но пытаюсь как-то прикрутить невозможность гостям писать в чат. Т.е. чтобы read-only у гостей было. Сложно ли это реализовать?

Автор: CrazyKiller 13.9.2011, 19:01

Цитата(kma21 @ 13.9.2011, 19:58) *
Ничего в программировании не понимаю, но пытаюсь как-то прикрутить невозможность гостям писать в чат. Т.е. чтобы read-only у гостей было. Сложно ли это реализовать?


Вот Скрипт есть !
http://mydc.ru/topic4836.html

Автор: CrazyKiller 25.1.2012, 0:46

Выручите пожалуйста )))
[Mon Jan 23 00:39:45 2012] ./scripts/FirstRusHubBot/cmds.lua:294: warning: function 'SetUser' was deprecated. Use 'UID[sName] = Value' instead

Строка Core.SetUser(tUser2.UID, 1, iProfile)

Автор: Saymon21 25.1.2012, 0:48

заменить на

Код
tUser2.iProfile = iProfile

Автор: CrazyKiller 25.1.2012, 1:14

Спасибо, сходу исправил другие ошибки big_smile.gif

Автор: CrazyKiller 25.1.2012, 16:57

Выручите, что нужна изменить и на что, чтоб операторы не могли просматривать пароли, удалять регистрацию, менять профиль, сами-же операторам ? big_smile.gif
Чтоб операторы могли видеть только Пользователей, а Администратор всех big_smile.gif

Автор: ShadoWx 7.2.2012, 10:53

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

Цитата(CrazyKiller @ 25.1.2012, 17:57) *
Выручите, что нужна изменить и на что, чтоб операторы не могли просматривать пароли, удалять регистрацию, менять профиль, сами-же операторам ? big_smile.gif
Чтоб операторы могли видеть только Пользователей, а Администратор всех big_smile.gif


if tUser.iProfile > tRegUser.iProfile then

заменяем на

if tUser.iProfile >= tRegUser.iProfile then

и так везде где тебе надо ..

Автор: Setuper 7.2.2012, 14:44

Просто не сохраняется удаление. В файле cmds.lua перед строчкой:

Код
local tMsg = {"*** ", tUser.sNick, ", регистрация ника \"", sData, "\" с профилем №", iProfile, " (", tProfiles[iProfile].tNames[1], ") удалена!"}
добавь строчку:
Код
SaveTable(sThisScriptDir.."RegUsers.dat", tRegUsers, "tRegUsers")


Перезалил исправленную версию.

Автор: ShadoWx 7.2.2012, 17:34

Илья, скажи пожалуйста не планируется ли модуля для хранения базы пользователей в mysql (в закрытом виде). ?

Автор: Saymon21 7.2.2012, 17:53

Сделай сам. Просто же всё. big_smile.gif
За основу можно взять http://mydc.ru/topic5153.html

Автор: ShadoWx 7.2.2012, 18:53

ну это как сказать...просто ... =) я вот только освоил простые скрипты, блокировки, лимиты... =)

Автор: mod 14.2.2013, 7:48

Как сделать вывод "режима подключения" полным словом? То есть отображение в чате я включил, но показывает так:

Цитата
Тип соединения: A.

Либо так:
Цитата
Тип соединения: P.


В прочем показывает верно, но хочется чтобы писало полностью - Activ \ Passiv.

Где это можно изменить? В скрипте что-то похожего не нашел.

Автор: Alexey 14.2.2013, 14:38

Замени

Код
        mode = tUser.sMode,

на
Код
        mode = tUser.sMode == 'A' and 'Active' or 'Passive',

Автор: Alexey 13.11.2013, 22:51

Просто разделил скрипт на 3 части.
Управление учётными записями  FRHB_regs.zip ( 4.26 килобайт ) : 15

Управление скриптами  FRHB_scripts.zip ( 3.03 килобайт ) : 5

Остальное (приветствие, команды: дропа, просмотра собственного IP и отправки сообщения от третьего лица)  FRHB_others.zip ( 3.91 килобайт ) : 9

Автор: Артём 21.2.2014, 20:22

В общем, решил перевести на инглишь, а то много иностранцев жалуются, что все скрипты для RusHub на русском, ошибки могут быть, на 98% перевёл... остальное нервы не позволили доперевести.
 FirstRusHubBot_Eng.rar ( 7.98 килобайт ) : 16

Автор: Saymon21 21.2.2014, 21:17

/me Думает, что нам нужен git с pull-requests