| 
	 
	 
Здравствуйте, гость ( Вход | Регистрация )
 | 
	 
	 
			
			  2.1.2010, 4:33
			
				 Сообщение
					#1
					
				
			 
		 | 
	|
        	
				
					![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 777 раз  | 
       
			
			 
				Итак, выкладываю скрипт дающий пока небольшой функционал для управления новоиспеченным 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.1.2010, 17:04
			
				 Сообщение
					#2
					
				
			 
		 | 
	|
        	
				
					![]() Начинающий ![]() Группа: Пользователи Сообщений: 26 Регистрация: 4.7.2009 Пользователь №: 3 786 Спасибо сказали: 1 раз  | 
       
			
			 
				я скачал файл  кинул папку skript.  а потом начинаю активировать скрипт. и пишет ошибку  критическую хотя я ничего неделал в скрипте ?
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  2.1.2010, 18:55
			
				 Сообщение
					#3
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				knuckles, этот скрипт написан под RusHub, а не под PtokaX ! 
			
			
			
					
		Насчет ветки, думаю можно в ближайшее время. А пока могут быть некоторые незначительные изменения api, поэтому, дабы не переписывать по 10 раз скрипты, прямо сейчас, я думаю, не стоит открывать ветку.  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 7:47
			
				 Сообщение
					#4
					
				
			 
		 | 
	|
        	
				
					![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 777 раз  | 
       
			
			 
				Выложил версию 0.2, все изменения в первом посту, пользуйтесь.
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 13:27
			
				 Сообщение
					#5
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				Ух... Отличная работа! 
			
			
			
					
		Единственное только профили сделаны как в птохе: -1 - анрег 0 - админ 1 - оп 2 - вип 3 - рег Однако, эта система профилей не очень хороша тем, что анрег выпадает из иерархии (админ < оп < вип < рег, но анрег < админ). Предлагаю сделать так (чем больше профиль, тем больше статус): -1 - анрег 0 - рег 1 - вип 2 - оп 3 - админ Тогда будет иерархическая лестница. И для проверки различных доступов можно будет применять всего одну операцию сравнения. Думаю это логичнее и оптимальнее.  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 14:28
			
				 Сообщение
					#6
					
				
			 
		 | 
	|
        	
				
					![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
       
			
			 
				а если сделать как у Колюхи, токо выкинуть профиль анрегов... нафиг он им вообще? т.е. если нет профиля значит анрег))) 
			
			
			
					
		Илюх если сделать как у тебя, то мне кажется возникнет проблема с добавлением профилей...  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 14:47
			
				 Сообщение
					#7
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				Просто в скрипте итак всё построено на знаке сравнения профилей. Поэтому речь о добавлении какого-то ещё профиля тут в принципе не идёт, так как в этом случае порушится вся задумка
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 15:03
			
				 Сообщение
					#8
					
				
			 
		 | 
	|
        	
				
					![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
       
			
			 
				но надо сделать так чтоб система профилей была гибкой, а не привязанной к определённому числу....
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 15:45
			
				 Сообщение
					#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  | 
	
| 
			
			 | 
	|
			
			  7.1.2010, 12:10
			
				 Сообщение
					#10
					
				
			 
		 | 
	|
        	
				
					![]() Начинающий ![]() Группа: Пользователи Сообщений: 17 Регистрация: 1.9.2009 Пользователь №: 4 319 Спасибо сказали: 1 раз  | 
       
			
			 
				Чета непашет у меня етот скрипт((( 
			
			
			
					
		Платформа хаба очень понравилась как тока будут нормальные модули и скрипты сразу переву свой хаб на него)))  | 
	
| 
			
			 | 
	|
			
			  7.1.2010, 12:16
			
				 Сообщение
					#11
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			 
				В связи с выходом новой версии хаба и плагина изменились пути до файлов. Чтобы скрипт заработал, необходимо открыть файл FirstRusHubBot.lua и  
			
			
			Код     sMainDir = Core.GetMainDir() sScriptsDir = Core.GetScriptsDir() поменять на Код     sMainDir = Core.sMainDir 
				
				
				
			sScriptsDir = Core.sScriptsDir  | 
	
| 
			
			 | 
	|
			
			  7.1.2010, 17:41
			
				 Сообщение
					#12
					
				
			 
		 | 
	|
        	
				
					![]() Главный ра******й тут... ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 777 раз  | 
       
			
			 Цитата Для того чтобы стать админом необходимо зарегистрироваться, залезть в файл RegUsers.dat, поменять там параметр ["iProfile"] на 0 рядом с нужным ником, затем перезагрузить скрипты.  Простите, сейчас немного занят, попробую вскоре сделать новую версию с более широкими возможностями и настройками хаба.
				
				
				
			 | 
	
| 
			
			 | 
	|
			
			  5.3.2010, 19:20
			
				 Сообщение
					#13
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				Немного отредактировал скрипт. Добавил строку, отвечающую за отсылку ip адресов всех пользователей операторам, а также добавил функцию ContextMenu для использования совместно со скриптом ContextMenu.lua. По умолчанию контекстные менюшки отсылаются при входе. Если у вас установлен скрипт ContextMenu.lua, то для того чтобы менюшки отсылались только по команде, а не при входе нужно в конце функции OnUserEnter закомментировать строку ContextMenu(UID).
				
				
				
			 
			
			
			 | 
	
| 
			
			 | 
	|
			
			  5.3.2010, 20:12
			
				 Сообщение
					#14
					
				
			 
		 | 
	|
        	
				
					![]() Я коварный Санта Клаус ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза  | 
       
			
			 
				Когда заккоментировал строку  
			
			
			
					
		Код --Core.SendToUser(UID, sMenu)  , то не отсылается меню "прислать менюшку" если раскомментировать ее (то есть оставить так как было) - то отсылается пользователю "прислать менюшку" но и остальное меню (от  FirstRusHubBot) приходит с нею.
				
				
				
			 | 
	
| 
			
			 | 
	|
			
			  5.3.2010, 20:18
			
				 Сообщение
					#15
					
				
			 
		 | 
	|
        	
				
					![]() Site Reliability Engineer ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
       
			
			 
				перекачай, у меня сейчас всё нормально.
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  5.3.2010, 20:18
			
				 Сообщение
					#16
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				Скрипт ContextMenu.lua не трогаем. Я говорил про комментирование строки в текущем скрипте!
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  5.3.2010, 20:22
			
				 Сообщение
					#17
					
				
			 
		 | 
	|
        	
				
					![]() Я коварный Санта Клаус ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 523 Регистрация: 4.11.2008 Из: Саратов Пользователь №: 985 Спасибо сказали: 54 раза  | 
       
			
			 
				Спасибо. А я с дуру закомментировал в ContextMenu.lua .  FirstRusHubBot.lua - его отредактировать надо. Работает.
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  5.3.2010, 20:22
			
				 Сообщение
					#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 - основной бот и иногда просто необходимо чтобы этот скрипт работал и были доступны только его функции.  | 
	
| 
			
			 | 
	|
			
			  11.3.2010, 18:22
			
				 Сообщение
					#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) Выскочила ошибка, прошу помочь исправить...  | 
	
| 
			
			 | 
	|
			
			  11.3.2010, 19:18
			
				 Сообщение
					#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 | 6 178 | 14.2.2013, 20:45 Посл. сообщение: KCAHDEP | 
![]()  | 
	  От темы с ID: 2878  | 
	2 | Hellsing | 5 166 | 17.5.2011, 11:35 Посл. сообщение: CrazyKiller | 
 
 | 
Сейчас: 4.11.2025, 6:12 |