| 
 | 
Здравствуйте, гость ( Вход | Регистрация )
|   | 
| 
 | 
|  15.1.2010, 20:04 
				 Сообщение
					#1
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | 
				Вообщем имееться код Нажать для просмотра Код elseif cmd == tCmd.SearchNick then local nick = string.match(data, "%b<>%s*%p%S+%s(%S+)$") if nick then local msg = "" local results = 0 for i in pairs(tUserNicks) do for i2 in pairs(tUserNicks[i]) do if string.find(i2:lower(),nick:lower()) then msg = msg..BuildStats(i,true) results = results+1 break end end end if results == 0 then Core.SendToUser(user,"<"..sBot.."> Информация по нику "..nick.." не найдена в базе.") else msg = "Результат поиска по нику '"..nick.."'.".." Всего найдено записей: "..results.. msg Core.SendPmToNick(user.sNick,sBot,msg) end else Core.SendToUser(user,"<"..sBot.."> Ошибка: Нужно ввести ник или часть ника. Введите "..sPrefix..tCmd.SearchNick.." <Ник>") end return true Этот код являеться частью функции ChatArrival(user,data) А эта фунция являеться частью скрипта StatPX 1.04 Это так для доп. информации. Вообщем теперь сам вопрос... Как сделать так что бы определёная строчка сообщения выводимой скриптом отправлялась от бота? В этом коде есть участок, который отвечает за отправку сообщения (в данном случае о поиске пользователя) в приват. Нажать для просмотра Код         if results == 0 then Core.SendToUser(user,"<"..sBot.."> Информация по нику "..nick.." не найдена в базе.") else msg = "Результат поиска по нику '"..nick.."'.".." Всего найдено записей: "..results.. msg Core.SendPmToNick(user.sNick,sBot,msg) end при этом бот выводит сообщение ввиде: Цитата [время] <бот_хаба> Результат поиска по нику "Ник_юзера". Всего найдено записей: "число_записей" Информация о нике И это выглядит так Нажать для просмотра Цитата [20:51:03] <Hub-Bot> Результат поиска по нику 'toopizza'. Всего найдено записей: 1 =================================================== Статистика пользователя 'toopizza' =================================================== - Ник: toopizza - IP: 89.222.214.82 - Ранг: Рядовой Общее время проведения на хабе 29 мин. Среднее время проведения на хабе 7 мин. в сутки Первый визит на хаб 12 янв в 01:10 Пришёл на хаб 15 янв в 16:49 Покинул хаб 15 янв в 16:50 С данного IP-адреса заходили под никами: - toopizza - 5 раз(а) - DrakonSP - 2 раз(а) =================================================== я же хочу что бы было как то так: Цитата [время] <бот_хаба> Результат поиска по нику "Ник_юзера". [время] <бот_хаба> Всего найдено записей "число_записей" [время] <бот_хаба> Информация о нике. Для этого я попытался переделать код следующим образом: Нажать для просмотра Код         if results == 0 then Core.SendToUser(user,"<"..sBot.."> Информация по нику "..nick.." не найдена в базе.") else msg = "Результат поиска по нику '"..nick.."'." Core.SendPmToNick(user.sNick,sBot,msg) msg = "Всего найдено записей: "..results.. msg Core.SendPmToNick(user.sNick,sBot,msg) end И получил следующий результат: Цитата [время] <бот_хаба> Результат поиска по нику "ник_юзера". [время] <бот_хаба> Всего найдено записей: "число_записей"Результат поиска по нику "ник_юзера". Почему то вообще перестала отображаться Информация о нике И 2 раза выводится сообщение "Результат поиска по нику "ник_юзера"." Вообщем я прошу помогите как сделать так что бы всё норм выводилось. Спасибо. | 
|  | |
|  15.1.2010, 20:21 
				 Сообщение
					#2
					
				
			 | |
|  Самый главный активист :-D            Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
				я не понял а в чём вопрос то?
				
				
				
			 | 
|  | |
|  15.1.2010, 20:34 
				 Сообщение
					#3
					
				
			 | |
|  Site Reliability Engineer          Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
				в начало скрипта sBot = "имя бота" к сообщниям так же приделывай <"..sBot.."> | 
|  | |
|  15.1.2010, 20:46 
				 Сообщение
					#4
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | |
|  | |
|  15.1.2010, 20:49 
				 Сообщение
					#5
					
				
			 | |
|  Site Reliability Engineer          Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
				говори конкретней что тебе нужно? можеш и так поставить если я так понял sBot = SetMan.GetString(21) таким обрабом имя бота будет братся из настроек птоки | 
|  | |
|  15.1.2010, 20:53 
				 Сообщение
					#6
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | говори конкретней что тебе нужно? можеш и так поставить если я так понял sBot = SetMan.GetString(21) Что бы отображалось не вот так Нажать Цитата [20:51:03] <Hub-Bot> Результат поиска по нику 'toopizza'. Всего найдено записей: 1 =================================================== Статистика пользователя 'toopizza' =================================================== - Ник: toopizza - IP: 89.222.214.82 - Ранг: Рядовой Общее время проведения на хабе 29 мин. Среднее время проведения на хабе 7 мин. в сутки Первый визит на хаб 12 янв в 01:10 Пришёл на хаб 15 янв в 16:49 Покинул хаб 15 янв в 16:50 С данного IP-адреса заходили под никами: - toopizza - 5 раз(а) - DrakonSP - 2 раз(а) =================================================== А вот так Нажать Цитата [20:51:03] <Hub-Bot> Результат поиска по нику 'toopizza'. [20:51:03] <Hub-Bot> Всего найдено записей: 1 [20:51:03] <Hub-Bot> =================================================== Статистика пользователя 'toopizza' =================================================== - Ник: toopizza - IP: 89.222.214.82 - Ранг: Рядовой Общее время проведения на хабе 29 мин. Среднее время проведения на хабе 7 мин. в сутки Первый визит на хаб 12 янв в 01:10 Пришёл на хаб 15 янв в 16:49 Покинул хаб 15 янв в 16:50 С данного IP-адреса заходили под никами: - toopizza - 5 раз(а) - DrakonSP - 2 раз(а) =================================================== | 
|  | |
|  15.1.2010, 20:56 
				 Сообщение
					#7
					
				
			 | |
|  Site Reliability Engineer          Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
				ну я не телепат, даже не знаю что за скрипт ты делаешь. я тебе показал как, ищи где нужно в скрипте добавить    | 
|  | |
|  15.1.2010, 20:57 
				 Сообщение
					#8
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | |
|  | |
|  15.1.2010, 20:59 
				 Сообщение
					#9
					
				
			 | |
|  Site Reliability Engineer          Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
				да. не надо капсить!!! блин ищи где инфа вся и добавляй <"..sBot.."> только зачем всё это не пойму... Код  msg = "<"..sBot.."> Результат поиска по нику '"..nick.."'." Core.SendPmToNick(user.sNick,sBot,msg) msg = "<"..sBot.."> Всего найдено записей: "..results.. думаю так должно работать | 
|  | |
|  15.1.2010, 21:20 
				 Сообщение
					#10
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | да. не надо капсить!!! блин ищи где инфа вся и добавляй <"..sBot.."> только зачем всё это не пойму... Код  msg = "<"..sBot.."> Результат поиска по нику '"..nick.."'." Core.SendPmToNick(user.sNick,sBot,msg) msg = "<"..sBot.."> Всего найдено записей: "..results.. думаю так должно работать неа =)) Фишка в том что <"..sBot.."> просто пишет имя бота перед сообщением А мне надо что бы бот отпралял это сообщение Делаю вот так Код         else msg = "<Результат поиска по нику '"..nick.."'." Core.SendPmToNick(user.sNick,sBot,msg) msg = "<Всего найдено записей: "..results.. msg Core.SendPmToNick(user.sNick,sBot,msg) end и получаю в DC++ фиг с маслом =)) Цитата [21:14:52] <Hub-Bot> <Hub-Bot> Результат поиска по нику 'toopizza'. [21:14:52] <Hub-Bot> <Hub-Bot> Всего найдено записей: 1Результат поиска по нику 'toopizza'. т.е. впринципе бот отправил сообщение "Всего найдено записей: 1" но почему то к самой концовке этого сообщения добавил первой, а инфу о юзере скушал на обед | 
|  | |
|  15.1.2010, 21:23 
				 Сообщение
					#11
					
				
			 | |
|  Site Reliability Engineer          Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
				Не надо цитироватиь так посты!   дай выложи всю свою работу попробую глянуть | 
|  | |
|  15.1.2010, 21:38 
				 Сообщение
					#12
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | 
				Да я выложу если не разберусь сейчас А то просто идея пришла одна... Сделал... Код         else Core.SendPmToNick(user.sNick,sBot,"Результат поиска по нику '"..nick.."'") Core.SendPmToNick(user.sNick,sBot,"Всего найдено записей: "..results.."") Core.SendPmToNick(user.sNick,sBot,msg) end Вместо прежнего... Код         else msg = "Результат поиска по нику '"..nick.."'.".." Всего найдено записей: "..results.. msg Core.SendPmToNick(user.sNick,sBot,msg) end Не думал что будет настолько простой код =)) Но опять же разочарован в том что это будет не очень практично например для большого текста Если кто то знает способ по практичней чем этот отпишитесь =)) Или киньте сюда чисто функцию которая бы заменяла на "msg" текст "Результат поиска по нику '"..nick.."'" Как это сделанно выше. А сам текст был написан внутри этой функции или выведен в отдельный текстовый файл, что очень удобно. | 
|  | |
|  15.1.2010, 22:29 
				 Сообщение
					#13
					
				
			 | |
|  Самый главный активист :-D            Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
				Извиняюсь бред какой то написан... выражайтесь точно что вам надо. разбиение на строчки уже сделаны так что ещё?!
				
				
				
			 | 
|  | |
|  15.1.2010, 22:53 
				 Сообщение
					#14
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | Извиняюсь бред какой то написан... выражайтесь точно что вам надо. разбиение на строчки уже сделаны так что ещё?! Вот код вывода поиска по нику в скрипте StatPX 1.04 Нажмите для просмотра Код elseif cmd == tCmd.SearchNick then local nick = string.match(data, "%b<>%s*%p%S+%s(%S+)$") if nick then local msg = "" local results = 0 for i in pairs(tUserNicks) do for i2 in pairs(tUserNicks[i]) do if string.find(i2:lower(),nick:lower()) then msg = msg..BuildStats(i,true) results = results+1 break end end end if results == 0 then Core.SendToUser(user,"<"..sBot.."> Информация по нику "..nick.." не найдена в базе.") else Core.SendPmToNick(user.sNick,sBot,"Результат поиска по нику '"..nick.."'") Core.SendPmToNick(user.sNick,sBot,"Всего найдено записей: "..results.."") Core.SendPmToNick(user.sNick,sBot,msg) end строчка Код Core.SendPmToNick(user.sNick,sBot,msg)выводит в PM информацию о юзере В свою очередь информация находиться в функции BuildStats(IP,Ext) Нажмите для просмотра Код function BuildStats(IP,Ext) if tUserStat[IP] then local iAverage = os.difftime(os.time(os.date("*t")), tUserStat[IP].FirstVisit)/(60*60*24) if iAverage < 1 then iAverage = 1 end local sMsg = "\n"..string.rep("=", 51).."\n".. " Статистика пользователя '"..tUserStat[IP].Name.."'".. "\n"..string.rep("=", 51).."\n".. " - Ник: "..tUserStat[IP].Name.."\n".. " - IP: "..IP.."\n".. " - Ранг: "..GetRank(IP).."\n\n".. " Общее время проведения на хабе ".. MinutesToTime(tUserStat[IP].TotalTime, true).."\n".. " Среднее время проведения на хабе ".. MinutesToTime((tUserStat[IP].TotalTime/iAverage), true).." в сутки".."\n" if Ext then sMsg = sMsg.. "\n".. " Первый визит на хаб "..GetDate(tUserStat[IP].FirstVisit).."\n".. " Пришёл на хаб "..GetDate(tUserStat[IP].Enter).."\n" if tUserStat[IP].Online < 1 then sMsg = sMsg.. " Покинул хаб "..GetDate(tUserStat[IP].Leave).."\n" end sMsg = sMsg.. "\n".. " С данного IP-адреса заходили под никами:".."\n" if tUserNicks[IP] then for nick in pairs(tUserNicks[IP]) do sMsg = sMsg.. " - "..nick.." - "..tUserNicks[IP][nick].." раз(а)".."\n" end end end sMsg = sMsg.. ""..string.rep("=", 51).."\n" return sMsg else return nil end end Вопрос в том что бы вывести всю информацию (Текст, возможно даже большого обьёма) в текстовый файл. Это даст практичность в редактировании данных (Текста) Т.к. текст будет находиться не в самом скрипте, а вотдельном файле. Если переделать к примеру весь скрипт, то есть такой плюс что скрипт будет меньше кушать памяти и будет более быстро работать. Как то так. | 
|  | |
|  15.1.2010, 23:08 
				 Сообщение
					#15
					
				
			 | |
|  Самый главный активист :-D            Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз  | 
				От этого скрипт меньше кушать не станет, если не начнёт ещё больше...
				
				
				
			 | 
|  | |
|  15.1.2010, 23:11 
				 Сообщение
					#16
					
				
			 | |
|  Site Reliability Engineer          Группа: Модераторы Сообщений: 1 772 Регистрация: 27.6.2009 Из: Чувашия, г. Чебоксары Пользователь №: 3 719 Спасибо сказали: 479 раз  | 
				извеняюсь если что но я старался обьяснить так как я понял изначально.  сорри за оффтоп | 
|  | |
|  15.1.2010, 23:13 
				 Сообщение
					#17
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | |
|  | |
|  16.1.2010, 16:26 
				 Сообщение
					#18
					
				
			 | |
|  Главный ра******й тут...          Группа: Главные администраторы Сообщений: 1 727 Регистрация: 18.5.2008 Из: RF, 2la Пользователь №: 1 Спасибо сказали: 777 раз  | 
				Вместо  Код msg = "Результат поиска по нику '"..nick.."'.".." Всего найдено записей: "..results..сделать msg Core.SendPmToNick(user.sNick,sBot,msg) Код             Core.SendPmToNick(user.sNick,sBot,"Результат поиска по нику '"..nick.."'.")в чем проблема у вас и зачем заводить тему не в ту степь я не понимаю. Если не разбираетесь в вопросе лучше не помогать, а то еще больше запутываете человека, не переоценивайте себя. Core.SendPmToNick(user.sNick,sBot,"Всего найдено записей: "..results) Core.SendPmToNick(user.sNick,sBot,msg) | 
|  | |
|  16.1.2010, 21:02 
				 Сообщение
					#19
					
				
			 | |
|  Продвинутый участник     Группа: Пользователи Сообщений: 107 Регистрация: 23.11.2008 Из: Сергиев Посад Пользователь №: 1 178 Спасибо сказали: 9 раз  | Вместо  Код msg = "Результат поиска по нику '"..nick.."'.".." Всего найдено записей: "..results..сделать msg Core.SendPmToNick(user.sNick,sBot,msg) Код             Core.SendPmToNick(user.sNick,sBot,"Результат поиска по нику '"..nick.."'.")в чем проблема у вас и зачем заводить тему не в ту степь я не понимаю. Если не разбираетесь в вопросе лучше не помогать, а то еще больше запутываете человека, не переоценивайте себя. Core.SendPmToNick(user.sNick,sBot,"Всего найдено записей: "..results) Core.SendPmToNick(user.sNick,sBot,msg) Спс я уже разобрался несколькими постами выше =)) | 
|  | |
|   | 
 Похожие темы
 Похожие темы
|   | Сейчас: 28.10.2025, 6:42 |