|
Здравствуйте, гость ( Вход | Регистрация )
|
![]()
Сообщение
#1
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Итак, выкладываю скрипт дающий пока небольшой функционал для управления новоиспеченным RusHub'ом.
Что сделано:
Получилась гибкая легко изменяемая система, команды лежат в файле cmds.lua, по шаблону легко добавляется что угодно. Так же возможные настройки: имя бота и хабтопик, можно задать какие профили будут иметь ключик, за это отвечает параметр bHaveKey таблицы tProfiles что находится в самом начале файла FirstRusHubBot.lua. Пока все, позже будет больше, тестируйте. Для того чтобы стать админом необходимо зарегистрироваться, залезть в файл RegUsers.dat, поменять там параметр ["iProfile"] на 0 рядом с нужным ником, затем перезагрузить скрипты. Изменения в версии 0.2 по сравнению с предыдущей:
Вот возможности профилей по умолчанию в скрипте на текущую версию: Администратор <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 лица. Альтернативы: !ми, !я
Прикрепленные файлы
Спасибо сказали: |
|
|
![]() |
![]()
Сообщение
#2
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 26 Регистрация: 4.7.2009 Пользователь №: 3 786 Спасибо сказали: 1 раз ![]() |
я скачал файл кинул папку skript. а потом начинаю активировать скрипт. и пишет ошибку критическую хотя я ничего неделал в скрипте ?
|
|
|
![]()
Сообщение
#3
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
knuckles, этот скрипт написан под RusHub, а не под PtokaX !
Насчет ветки, думаю можно в ближайшее время. А пока могут быть некоторые незначительные изменения api, поэтому, дабы не переписывать по 10 раз скрипты, прямо сейчас, я думаю, не стоит открывать ветку. |
|
|
![]()
Сообщение
#4
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Выложил версию 0.2, все изменения в первом посту, пользуйтесь.
|
|
|
![]()
Сообщение
#5
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Ух... Отличная работа!
Единственное только профили сделаны как в птохе: -1 - анрег 0 - админ 1 - оп 2 - вип 3 - рег Однако, эта система профилей не очень хороша тем, что анрег выпадает из иерархии (админ < оп < вип < рег, но анрег < админ). Предлагаю сделать так (чем больше профиль, тем больше статус): -1 - анрег 0 - рег 1 - вип 2 - оп 3 - админ Тогда будет иерархическая лестница. И для проверки различных доступов можно будет применять всего одну операцию сравнения. Думаю это логичнее и оптимальнее. |
|
|
![]()
Сообщение
#6
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
а если сделать как у Колюхи, токо выкинуть профиль анрегов... нафиг он им вообще? т.е. если нет профиля значит анрег)))
Илюх если сделать как у тебя, то мне кажется возникнет проблема с добавлением профилей... |
|
|
![]()
Сообщение
#7
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Просто в скрипте итак всё построено на знаке сравнения профилей. Поэтому речь о добавлении какого-то ещё профиля тут в принципе не идёт, так как в этом случае порушится вся задумка
|
|
|
![]()
Сообщение
#8
|
|
![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз ![]() |
но надо сделать так чтоб система профилей была гибкой, а не привязанной к определённому числу....
|
|
|
![]()
Сообщение
#9
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Тогда для иерархической лестницы предлагаю ввести ранее мною упомянутое понятие класса. То есть ставить профилю в соответствие иерархическое значение класса, и проверять права на использование того или иного действия используя команду сравнения для классов, а не для профилей.
Классы можно будет перестраивать после добавления нового профиля. В этом нет проблем, так как классы можно хранить как индексы таблицы, а профили как значения в таблице и добавлять новый класс при помощи функции 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 |
|
|
![]()
Сообщение
#10
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2009 Пользователь №: 4 319 Спасибо сказали: 1 раз ![]() |
Чета непашет у меня етот скрипт(((
Платформа хаба очень понравилась как тока будут нормальные модули и скрипты сразу переву свой хаб на него))) |
|
|
![]()
Сообщение
#11
|
|
![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза ![]() |
В связи с выходом новой версии хаба и плагина изменились пути до файлов. Чтобы скрипт заработал, необходимо открыть файл FirstRusHubBot.lua и
Код sMainDir = Core.GetMainDir() sScriptsDir = Core.GetScriptsDir() поменять на Код sMainDir = Core.sMainDir
sScriptsDir = Core.sScriptsDir |
|
|
![]()
Сообщение
#12
|
|
![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 776 раз ![]() |
Цитата Для того чтобы стать админом необходимо зарегистрироваться, залезть в файл RegUsers.dat, поменять там параметр ["iProfile"] на 0 рядом с нужным ником, затем перезагрузить скрипты. Простите, сейчас немного занят, попробую вскоре сделать новую версию с более широкими возможностями и настройками хаба.
|
|
|
![]()
Сообщение
#13
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Немного отредактировал скрипт. Добавил строку, отвечающую за отсылку ip адресов всех пользователей операторам, а также добавил функцию ContextMenu для использования совместно со скриптом ContextMenu.lua. По умолчанию контекстные менюшки отсылаются при входе. Если у вас установлен скрипт ContextMenu.lua, то для того чтобы менюшки отсылались только по команде, а не при входе нужно в конце функции OnUserEnter закомментировать строку ContextMenu(UID).
|
|
|
![]()
Сообщение
#14
|
|
![]() Я коварный Санта Клаус ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза ![]() |
Когда заккоментировал строку
Код --Core.SendToUser(UID, sMenu) , то не отсылается меню "прислать менюшку" если раскомментировать ее (то есть оставить так как было) - то отсылается пользователю "прислать менюшку" но и остальное меню (от FirstRusHubBot) приходит с нею.
|
|
|
![]()
Сообщение
#15
|
|
![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз ![]() |
перекачай, у меня сейчас всё нормально.
|
|
|
![]()
Сообщение
#16
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
Скрипт ContextMenu.lua не трогаем. Я говорил про комментирование строки в текущем скрипте!
|
|
|
![]()
Сообщение
#17
|
|
![]() Я коварный Санта Клаус ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза ![]() |
Спасибо. А я с дуру закомментировал в ContextMenu.lua . FirstRusHubBot.lua - его отредактировать надо. Работает.
|
|
|
![]()
Сообщение
#18
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
В текущем скрипте (FirstRusHubBot) есть функция OnUserEnter. В самом конце этой функции есть вызов функции ContextMenu:
Код function OnUserEnter(UID) ... ContextMenu(UID) end Комментируем этот вызов: Код function OnUserEnter(UID) ... --ContextMenu(UID) end Я оставил этот вызов в скрипте незакомментированным, так как FirstRusHubBot - основной бот и иногда просто необходимо чтобы этот скрипт работал и были доступны только его функции. |
|
|
![]()
Сообщение
#19
|
|
![]() Начинающий ![]() Группа: Пользователи Сообщений: 20 Регистрация: 12.9.2009 Из: г.Екатеринбург Пользователь №: 4 427 Спасибо сказали: 0 раз ![]() |
Код [Thu Mar 11 20:18:42 2010] E:/VESSEL~1/scripts/FirstRusHubBot.lua:106: attempt to index field '?' (a nil value) Выскочила ошибка, прошу помочь исправить... |
|
|
![]()
Сообщение
#20
|
|
![]() RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз ![]() |
в 106 строчке вместо:
Код if tProfiles[iProfile].bHaveKey then напиши:Код if tProfiles[iProfile] and tProfiles[iProfile].bHaveKey then А вообще, эта ошибка означает, что у тебя в таблице tProfiles описаны не все профили, которые используются. По всей видимости есть какой-нибудь профиль с номером 4 (какой-нибудь модератор) ![]() |
|
|
![]() ![]() |
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
![]() |
От: FirstRusHubBot От темы с ID: 2878 |
3 | Satib | 5 254 | 14.2.2013, 20:45 Посл. сообщение: KCAHDEP |
![]() |
![]() От темы с ID: 2878 |
2 | Hellsing | 4 378 | 17.5.2011, 11:35 Посл. сообщение: CrazyKiller |
![]() |
Сейчас: 8.9.2024, 2:48 |