| 
	 
	 
Здравствуйте, гость ( Вход | Регистрация )
 | 
	 
	 
			
			  5.1.2010, 14:18
			
				 Сообщение
					#1
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			 
				Название: Тексты 
			
			
			Версия: 2.0 Автор: STRELOK, Setuper(fixed) lua плагин: 1.6 Версия хаба: 2.0.5 Описание: выводит содержимое текстовых файлов по команде. Примечания: Тексты лежат в папке texts Изменения 
 
	Прикрепленные файлы
	
 
 | 
	
| 
			
			 | 
	|
![]()  | 
	
			
			  5.1.2010, 14:23
			
				 Сообщение
					#2
					
				
			 
		 | 
	|
        	
				
					![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
       
			
			 
				А сможешь немного переделать скрипт чтобы не прописывать команду а по любой команде искал файл? 
			
			
			
					
		PS: на данном этапе думаю стоит указывать версию плагина и хаба!  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 14:57
			
				 Сообщение
					#3
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			 А сможешь немного переделать скрипт чтобы не прописывать команду а по любой команде искал файл? Попробую. Сейчас займусь UPD: Никак не могу додуматься, как взять название текстового файла за команду. Допустим есть файл rules.txt, надо взять его название, т.е. при вводе команды !rules, чтобы выводилось содержимое файла rules.txt, также и для других файлов. Если додумаюсь, то сегодня к вечеру может быть выложу, если нет, то жду помощи  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 16:59
			
				 Сообщение
					#4
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 153 Регистрация: 21.9.2008 Из: Челябинск Пользователь №: 574 Спасибо сказали: 54 раза  | 
       
			
			 
				не проверял :( просто навскидку попробовал сообразить: 
			
			
			Код bot = "БОТ" 
				
				
				
			folder = Core.GetMainDir().."texts/" function OnChat(UID, sData) local sCmd = sData:match"%b<>%s+%p(%S+)" if sCmd then Core.SendToUser(UID, LoadText(sCmd), bot) return true end end function LoadText(sCmd) local sMessage = "" local sFile = io.open(folder..sCmd..".txt", "r" ) if sFile then sMessage = sFile:read("*all") sFile:close() end return sMessage end  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 17:18
			
				 Сообщение
					#5
					
				
			 
		 | 
	|
        	
				
					![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
       
			
			 
				ну да почти))) но лучше наверно так 
			
			
			
					
		Код local sBot = "boT" local sPath = Core.GetMainDir().."texts/" function OnChat(UID, sData) local sCmd = sData:match"%b<>%s+[!+-/*](%S+)" local bFile sMsg = LoadText(sPath..sCmd..".txt") if bFile then Core.SendToUser(UID, sMsg, sBot) return true end end function LoadText(sFileWay) local sMessage = "" local sFile = io.open(sFileWay, "r" ) if sFile then sMessage = sFile:read("*all") sFile:close() return true sMessage else return nil end end думаю позже этот скрипт надо будет разделить и функцию чтения текстового файла убрать в модули  | 
	
| 
			
			 | 
	|
			
			  5.1.2010, 18:14
			
				 Сообщение
					#6
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				Разумно вообще сделать отдельный модуль с часто используемыми функциями, чтобы по 10 раз не переписывать один и тот же код. 
			
			
			
					
		Из данного скрипта в модуль нужно запихнуть функцию LoadText. А также в модуль следует пихнуть такие функции как: Serialize, сохранение таблиц, всякие форматирования шары и тд.  | 
	
| 
			
			 | 
	|
			
			  6.1.2010, 10:14
			
				 Сообщение
					#7
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			 
				Добавлена Версия 1.2: 
			
			
			
					
		
  | 
	
| 
			
			 | 
	|
			
			  6.1.2010, 10:29
			
				 Сообщение
					#8
					
				
			 
		 | 
	|
        	
				
					![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
       |
| 
			
			 | 
	|
			
			  6.1.2010, 10:48
			
				 Сообщение
					#9
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			 написано красиво, но так делает мой вариант. а то что в первом посту на мой взгляд не работает так... Эту функцию убрал в версии 1.2. Т.к.: Код         return true sMessage else return nil Хаб ругается Цитата error loading module 'texts' from file '...\Hub\libs\texts.lua': 
				
				
				
			...\Hub\libs\texts.lua:9: 'end' expected (to close 'function' at line 1) near 'sMessage'  | 
	
| 
			
			 | 
	|
			
			  6.1.2010, 10:53
			
				 Сообщение
					#10
					
				
			 
		 | 
	|
        	
				
					![]() Самый главный активист :-D ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
       
			
			 
				запятая пропущена  
			
			
			
					
		Код         return true, sMessage else return nil  | 
	
| 
			
			 | 
	|
			
			  6.1.2010, 10:59
			
				 Сообщение
					#11
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			 Код .../Desktop/Hub/scripts/texts.lua:18: attempt to concatenate global 'sPath' (a nil value)   | 
	
| 
			
			 | 
	|
			
			  9.1.2010, 21:35
			
				 Сообщение
					#12
					
				
			 
		 | 
	|
| 
        	
				
					 RusHub team lead ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз  | 
       
			
			 
				Только ссылаться я дума нужно не на сам модуль, я на тему, так как в модули будут добавляться функции и модули будут перезаливаться, и соответственно ссылки на сами модули будут меняться. Поэтому ссылаемся на тему с модулями, а там уже в первом посту не сложно найти тот или иной модуль. 
			
			
			
					
		Я поправил ссылки))  | 
	
| 
			
			 | 
	|
			
			  9.3.2010, 14:15
			
				 Сообщение
					#13
					
				
			 
		 | 
	|
        	
				
					![]() Developer ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 541 Регистрация: 11.11.2008 Пользователь №: 1 075 Спасибо сказали: 244 раза  | 
       
			
			
 upd: те, кто успел скачать предшествующий архив, просьба, перекачать архив с первого поста. Была исправлена одна мелкая ошибка.  | 
	
| 
			
			 | 
	|
			
			  26.12.2010, 7:03
			
				 Сообщение
					#14
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 162 Регистрация: 19.8.2009 Из: Москва Пользователь №: 4 201 Спасибо сказали: 24 раза  | 
       
			
			 
				В Windows версия 1.3 работает без проблем. 
			
			
			
					
		В Убунте этот скрипт запустился, когда закомментировал: Код --require "files" Однако текст из файла не выдает...ошибка:Код texts.lua:39: attempt to index global 'Files' (a nil value) Включил последнюю версию 2.0 - не находит папки с текстовыми файлами:Код [07:13:02] <LuaErrors> Ошибка в скрипте: texts.lua: /etc/rushub/scripts/texts.lua:21: module 'files' not found:    no field package.preload['files'] no file '/etc/rushub/libs/files.lua' no file '/etc/rushub/libs/files/init.lua' no file '/etc/rushub/files.lua' no file '/etc/rushub/files/init.lua' no file '/etc/rushub/scripts/files.lua' no file '/etc/rushub/scripts/files/init.lua' no file '/etc/rushub/plugins/files.lua' no file '/etc/rushub/plugins/files/init.lua' no file '/etc/rushub/scripts/libs/files.lua' no file '/etc/rushub/scripts/libs/files/init.lua' no file './files.lua' no file '/usr/local/share/lua/5.1/files.lua' no file '/usr/local/share/lua/5.1/files/init.lua' no file '/usr/local/lib/lua/5.1/files.lua' no file '/usr/local/lib/lua/5.1/files/init.lua' no file '/usr/share/lua/5.1/files.lua' no file '/usr/share/lua/5.1/files/init.lua' no file '/etc/rushub/libs/files.so' no file '/etc/rushub/files.so' no file '/etc/rushub/scripts/files.so' no file '/etc/rushub/plugins/files.so' no file '/etc/rushub/scripts/libs/files.so' no file './files.so' no file '/usr/local/lib/lua/5.1/files.so' no file '/usr/lib/lua/5.1/files.so' no file '/usr/local/lib/lua/5.1/loadall.so' Вариант Warinera с поправкой Код local sPath = Core.sMainDir.."texts/" ошибок не дает, но содержимое текстового файла не выводит...команда проходит в чат.
				
				
				
			 | 
	
| 
			
			 | 
	|
			
			  26.12.2010, 8:11
			
				 Сообщение
					#15
					
				
			 
		 | 
	|
        	
				
					![]() Участник ![]() ![]() Группа: Пользователи Сообщений: 32 Регистрация: 4.11.2008 Пользователь №: 983 Спасибо сказали: 1 раз  | 
       
			
			 
				Ошибка в 26 строке.  
			
			
			Код [Sun Dec 26 11:03:05 2010] /etc/rushub/scripts/texts.lua:26: attempt to index a nil value в файле texts.lua 26 строка: Код     local sText = Files.LoadText(sPath..sCmd..".txt"):gsub("%[(%S+)%]", {  | 
	
| 
			
			 | 
	|
			
			  27.12.2010, 15:50
			
				 Сообщение
					#16
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 104 Регистрация: 1.4.2009 Из: Россия Пользователь №: 2 871 Спасибо сказали: 42 раза  | 
       
			
			 
				Сменил 
			
			
			Код local sPath = Core.sMainDir.."texts/" на Код local sPath = Core.sScriptsDir.."texts/" тексты подгрузились.  | 
	
| 
			
			 | 
	|
			
			  27.12.2010, 16:10
			
				 Сообщение
					#17
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 162 Регистрация: 19.8.2009 Из: Москва Пользователь №: 4 201 Спасибо сказали: 24 раза  | 
       
			
			 
				Мне Артем прислал версию 2.0 этого скрипта, возможно с редакцией. 
			
			
			
					
		Скрипт запускается, тексты выводит, но очень долго! И в Win, и под Линуксом. Надо рыть какой параметр в конфиге определяет этот период.  | 
	
| 
			
			 | 
	|
			
			  27.12.2010, 22:28
			
				 Сообщение
					#18
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 104 Регистрация: 1.4.2009 Из: Россия Пользователь №: 2 871 Спасибо сказали: 42 раза  | 
       
			
			 
				Вполне вероятно из-за размера самих текстовых файлов которые запрашиваешь
				
				
				
			 
			
			
			
					
		 | 
	
| 
			
			 | 
	|
			
			  11.5.2011, 20:24
			
				 Сообщение
					#19
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 189 Регистрация: 20.4.2009 Пользователь №: 3 121 Спасибо сказали: 12 раз  | 
       
			
			 
				Ребят, не могу решить проблему в скрипте ! 
			
			
			
					
		Пишет в логе ! [Wed May 11 20:13:47 2011] c:/RusHub/scripts/texts.lua:10: unexpected symbol near '=' менял я Код local sPath = Core.sMainDir.."texts/" На Код local sPath = Core.sScriptsDir.."texts/" Не помогло, что может быть ?  | 
	
| 
			
			 | 
	|
			
			  13.5.2011, 23:01
			
				 Сообщение
					#20
					
				
			 
		 | 
	|
        	
				
					![]() Продвинутый участник ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 189 Регистрация: 20.4.2009 Пользователь №: 3 121 Спасибо сказали: 12 раз  | 
       
			
			 
				Ребят серьёзна, прошу помощи, скрипт падает сам по себе, не могу понять из за чего он падает, приходится в ручную запускать его постоянно ! 
			
			
			
					
		в Логе пишет Ошибку на Строку ! Лог Код /scripts/texts.lua:8: attempt to index a nil value Строка под номером 8 Код local sText = Files.LoadText(sPath..sCmd..".txt"):gsub("%[(%S+)%]", { Список Скриптов в Хабе, так прописаны в скриптах ! Код     "BanManager.lua"  "ChatFilter.lua" "chathist.lua" "ContextMenu.lua" "CountGraphic.lua" "FirstRusHubBot.lua" "hideme.lua"> "Informer.lua" "messenger.lua" "noCAPS.lua" "Records.lua" "Reports.lua" "scripts.lua" "texts.lua" Прошу вас, выручайте !  | 
	
| 
			
			 | 
	|
![]() ![]()  | 
	
 
 | 
Сейчас: 4.11.2025, 6:09 |