<?xml version="1.0" encoding="windows-1251" ?>
<rss version="2.0">
<channel>
	<title>PtokaX DCHub</title>
	<description><![CDATA[Технические вопросы по PtokaX, Запросы скриптов, Готовые скрипты: Боты \"все в одном\", Служебные скрипты, Развлекательные скрипты; Помощь по скриптам, Дополнительные библиотеки, Разработчикам]]></description>
	<link>http://mydc.ru/index.html</link>
	<pubDate>Sun, 20 May 2012 05:28:15 +0400</pubDate>
	<ttl>60</ttl>
	<item>
		<title>ПОдлагивает чат при написании сообщений</title>
		<link>http://mydc.ru/topic5277.html</link>
		<description><![CDATA[Ребят подлагивает чат после 4500 пользователей! Подскажите что подстроить ,подкрутить! Заранее спасибо!  <img src="http://mydc.ru/style_emoticons/default/sweet_kiss.gif" style="vertical-align:middle" emoid=":sweet_kiss:" border="0" alt="sweet_kiss.gif" />]]></description>
		<pubDate>Thu, 17 May 2012 19:39:13 +0400</pubDate>
		<guid>http://mydc.ru/topic5277.html</guid>
	</item>
	<item>
		<title>Ledokol for ptokax</title>
		<link>http://mydc.ru/topic5266.html</link>
		<description>Сделайте ледокол под ptokax api2 пожалуйста, будет полезная вещь</description>
		<pubDate>Mon, 16 Apr 2012 22:16:51 +0400</pubDate>
		<guid>http://mydc.ru/topic5266.html</guid>
	</item>
	<item>
		<title>Флуд в ПМ за спам</title>
		<link>http://mydc.ru/topic5264.html</link>
		<description>Здравствуйте! Перерыл весь форум ну что не нашел ищу скрипт детектора личек на спам, хотел найти скрипт который за спам зафлуживал пользователя, подскажите есть ли такой?</description>
		<pubDate>Fri, 13 Apr 2012 11:18:18 +0400</pubDate>
		<guid>http://mydc.ru/topic5264.html</guid>
	</item>
	<item>
		<title>Переход с статического айпи на динамический</title>
		<link>http://mydc.ru/topic5263.html</link>
		<description>Всем доброго времени суток.Во общем у меня такая проблема, провайдер к которому я подключен перекупил другой провайдер (Дата групп) и скоро дата групп будет осуществлять подключение и перезаключения договоров. Так вот у моего провайдера есть услуга статический айпи  а у дата групп такой услуги нет (пишут что все айпи в мире закончились и они сейчас на вес золота =) )зато они предоставляют бесплатно динамический айпи адрес который будет сменятся 1 раз в сутки.К моему хабу подключено 2 домена 1 на no-ip.org другой .ru .Скажите можно ли мне будет использовать домен .ru на динамическом айпи адресе просто я знаю что для домена no-ip.org есть программа которая следит за сменой айпи адреса и скажите удобно ли держать хаб на динамическом айпи адресе или из-за динамического айпи будут частые реконекты?Заранее прошу прощения если что то не разборчиво написал</description>
		<pubDate>Wed, 11 Apr 2012 21:22:20 +0400</pubDate>
		<guid>http://mydc.ru/topic5263.html</guid>
	</item>
	<item>
		<title>Бан по ID компа</title>
		<link>http://mydc.ru/topic5259.html</link>
		<description>Как бы хотелось увидеть скрипт бана по ID компъютера, если есть возможность сделайте, будет полезно для всех.</description>
		<pubDate>Thu, 05 Apr 2012 14:06:59 +0400</pubDate>
		<guid>http://mydc.ru/topic5259.html</guid>
	</item>
	<item>
		<title>Голосовое общение</title>
		<link>http://mydc.ru/topic5258.html</link>
		<description><![CDATA[Здравствуйте, возможно ли, что бы в чате было голосовое общение ?<br />подозреваю что тогда и клиент dc придётся переделывать ( greylink например )<br />если бы получилось, то думаю получился бы реальный конкурент скайпу]]></description>
		<pubDate>Mon, 02 Apr 2012 22:09:03 +0400</pubDate>
		<guid>http://mydc.ru/topic5258.html</guid>
	</item>
	<item>
		<title>Команды модератора</title>
		<link>http://mydc.ru/topic5255.html</link>
		<description><![CDATA[Извините, если тема повторяется, если этот вопрос тупой, и ответ на него знает каждый первый. Если точно такой же вопрос уже раньше задавали и на него был дан полный ответ, пожалуйста, киньте ссылку на тему. Если нет, то попрошу не крыть матом, не ржать и не удивляться, как такое можно не знать.<br />А теперь по теме: хаб работает на PtokaX b 0.4.2.0. Сервер хаба не у меня, администратор просто дал права модератора, чтобы я следил за порядком. Так вот, я не знаю команд для модератора кроме <!--coloro:#FF0000--><span style="color:#FF0000"><!--/coloro--><b>!ban &lt;nick&gt; &lt;time&gt; &lt;reason&gt;</b><!--colorc--></span><!--/colorc-->. Администратор тоже не в курсе, раньше модераторов на хабе не было вообще, и знать это было без надобности. <br />Было бы здорово узнать команду кляпа (отключить возможность писать сообщения в общий чат/личные сообщения), команду кика, а так же команды, отменяющие кляп и бан. Будет замечательно, если кто-то предоставит полный список команд модератора. И да, если эти команды зависят от дц-клиента модератора, то у меня FlylinkDC++ r405 Build 7358 &gt;_&lt; Заранее спасибо.]]></description>
		<pubDate>Fri, 30 Mar 2012 23:08:15 +0400</pubDate>
		<guid>http://mydc.ru/topic5255.html</guid>
	</item>
	<item>
		<title>Нужен скрипт контроля рекламы на хабе</title>
		<link>http://mydc.ru/topic5254.html</link>
		<description><![CDATA[Нужен скрипт <u>контроля рекламы</u> функции которого будут следующими:<br />Если пользователь произнес за последние <b>N</b> секунд больше <b>M</b> сообщений, <br />принятых фильтром за рекламу, ему отсылается предупреждение о том, что частая реклама <br />на хабе запрещена. Если пользователь произнес за последние <b>N</b> секунд больше <br /><b>S</b> сообщений, принятых фильтром за рекламу, он лишается права говорить в чате на <b>С</b> время.<br />Так же будет <u>очень хорошо</u> если список список заглушенных пользователей за частую рекламу будет абсолютно идентичный списку заглушек скрипта GagMe ( <a href="http://mydc.ru/topic1627.html" target="_blank">http://mydc.ru/topic1627.html</a> )<br />]]></description>
		<pubDate>Thu, 29 Mar 2012 16:40:59 +0400</pubDate>
		<guid>http://mydc.ru/topic5254.html</guid>
	</item>
	<item>
		<title>Прошу помочь</title>
		<link>http://mydc.ru/topic5253.html</link>
		<description><![CDATA[Столкнулся с проблемой железа и пришлось поменять модем( был dlink 200 , стал 2640u) <br />Какие порты нужно открывать для Ptokax'и?]]></description>
		<pubDate>Wed, 28 Mar 2012 23:38:46 +0400</pubDate>
		<guid>http://mydc.ru/topic5253.html</guid>
	</item>
	<item>
		<title>Несколько вопросов по консольной птоке</title>
		<link>http://mydc.ru/topic5252.html</link>
		<description><![CDATA[Debian + PtokaX DC Hub 0.4.2.0<br />Пытаюсь разобраться со скриптами, есть пара вопросов:<br /><br />1. Как перегрузить скрипты, не убивая&#092; процесс птоки и поднимания его заново, ну типа как в виндовой версии "перегрузить скрипты"?<br />2. Установил для теста на виндовую версию settings.lua (вычитал что он решает 1-ю проблему), он запустился, и что теперь делать? Как им командовать или там меню - как его открыть с клиента?]]></description>
		<pubDate>Mon, 26 Mar 2012 12:17:26 +0400</pubDate>
		<guid>http://mydc.ru/topic5252.html</guid>
	</item>
	<item>
		<title>PtokaX на роутере</title>
		<link>http://mydc.ru/topic5249.html</link>
		<description><![CDATA[Здравствуйте! Интересует такой вопрос: возможна ли установка PtokaX Hub на роутер с линуксовой прошивкой (типа DD-WRT, Open WRT). Сам нуб в этом вопросе, но слышал, что с такими прошивками на D-Link DIR-320 (и других) поднимают FTP и веб сервер. Было бы неплохо запилить туда мой локальный DC hub (около 100 юзеров), вместо системника.<br /><br />Вот типа как описано тут - <noindex><a href="http://mydc.ru/r/?http://we.easyelectronics.ru/Lifelover/prevraschaem-nedorogoy-router-v-domashniy-server.html?params=" rel="nofollow" target="_blank">http://we.easyelectronics.ru/Lifelover/pre...tml&params=</a></noindex>]]></description>
		<pubDate>Sat, 24 Mar 2012 15:28:06 +0400</pubDate>
		<guid>http://mydc.ru/topic5249.html</guid>
	</item>
	<item>
		<title>Админ меню</title>
		<link>http://mydc.ru/topic5248.html</link>
		<description>Тема была закрыта, есть вопрос, под 0.4.1.2 этот скрипт работал как часы без проблем, но на этом 0.4.2.0 (64bit) отказывается работать , меню есть тупо кидает команды в чат, в чем может быть проблема?</description>
		<pubDate>Thu, 22 Mar 2012 18:53:55 +0400</pubDate>
		<guid>http://mydc.ru/topic5248.html</guid>
	</item>
	<item>
		<title>PtokaX 0.4.2.0 - Падает Хаб! Помогите переделать скрипт...</title>
		<link>http://mydc.ru/topic5246.html</link>
		<description><![CDATA[Всем привет! Помогите исправить скрипт...<br /><br />Дело в том, что на новой версии PtokaX 0.4.2.0 данный скрипт не работает, точнее сказать Хаб падает, когда кто нибудь пишет в общий чат!<br />Система: Windows Server 2003 R2 Enterprise Edition x64 SP2<br />Ошибок в логах Хаба никаких нету...<br /><br />Собственно вот код скрипта.<br /><div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">...</div></div><div class="sp-body"><div class="sp-content"><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->--&#91;&#91;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Chat History On Entry 1.08 LUA 5.11 &#91;Strict&#93;&#91;API 2&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;By Mutor Modified by Nafanya &#40;translated by CJay&#41; 01/15/07 <br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;Logs Main Chat and provides chat history<br />&nbsp;&nbsp;&nbsp;&nbsp;in private message at user connect.<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;-Provides manual history command<br />&nbsp;&nbsp;&nbsp;&nbsp;-Provides delete message command<br />&nbsp;&nbsp;&nbsp;&nbsp;-Provides delete all messages command<br />&nbsp;&nbsp;&nbsp;&nbsp;-Provides history by days command<br />&nbsp;&nbsp;&nbsp;&nbsp;-Provides chat history help command<br />&nbsp;&nbsp;&nbsp;&nbsp;-Provides context menu &#91;right click&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;-Optional max history entries<br />&nbsp;&nbsp;&nbsp;&nbsp;-Optional number of messages sent at connect<br />&nbsp;&nbsp;&nbsp;&nbsp;-Optional exclude pm at login per user<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;+Changes from 1.05<br />&nbsp;&nbsp;&nbsp;&nbsp;+Added Anti-advertisement options. Requested by sphinx<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&#60;BotName&#62; Chat History Help<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Description<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;????????????????????????????????????????????<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;+delchat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delete Single Chat Entry<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;+history&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Get Chat History<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;+togglehistory&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Toggle Chat History<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;+dayhistory&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Chat History By Days<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;+chathelp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Chat History Help<br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;+delete&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;Delete Chat History<br />&nbsp;&nbsp; <br />&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;????????????????????????????????????????????<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&#93;&#93;<br /><br />Cfg = {<br />-- Имя бота<br />Bot = &#34;Дворецкий&#34;,<br />-- Описание бота<br />Desc = &#34;Я не злопамятный, поэтому записываю&#34;,<br />-- Bot email address<br />Mail = &#34;Top Secret&#34;,<br />-- Номер профиля админа<br />AdminProf = 0,<br />-- Ник для получения месаг об ошибках<br />OpNick = SetMan.GetString&#40;24&#41;,<br />-- File to save chat data to<br />File = &#34;ChatHistory.dat&#34;,<br />-- File to save chat data to<br />UserFile = &#34;ChatUsers.dat&#34;,<br />-- Максимум строк истории чата для показа при подключении юзера. Поставил 11, так как первая строка &#60;&#91;История_чата&#93;&#62; Chat history file created on&#58;<br />History = 20,<br />-- Максимум строк истории чата для хранения<br />MaxChat = 100,<br />-- Название меню<br />Menu = &#34;Сообщения&#34;,<br />-- Название подменю<br />SubMenu = &#34;Меню администрации&#092;&#092;Логи чата&#34;,<br />-- Установить каким профилям будет доступна история чата.<br />-- profile_idx, история доступна &#91;0=нет, 1=да&#93;, &#34;Profile Name&#34;<br />Profiles = {<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;-1&#93; = {0,&#34;Unregistered User&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;0&#93; = {1,&#34;Master&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;1&#93; = {0,&#34;Operator&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;2&#93; = {0,&#34;Moderator&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;3&#93; = {0,&#34;Reg&#34;},<br />},<br />-- Установить каким профилям будут показыватся история чата при входе на хаб.<br />ShowHistoty = {<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;-1&#93; = {0,&#34;Unregistered User&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;0&#93; = {1,&#34;Master&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;1&#93; = {1,&#34;Operator&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;2&#93; = {1,&#34;Moderator&#34;},<br />&nbsp;&nbsp;&nbsp;&nbsp; &#91;3&#93; = {1,&#34;Reg&#34;},<br />},<br />-- Включить антирекламу? 0 = отключено, 1 = включить для истории, 2 = включить для истории и главного чата<br />AaBlock = 0,<br />-- Сообщение которое будет отправлено юзеру при попытке рекламы. &#34;&#34; = отключено &#91;&#40;user&#41; will be replaced with user nick&#93;<br />AaReply = &#34; • &#40;user&#41;, не пишите прямые линки пожалуйста.&#34;,<br />-- Внешний файл &#34;плохих слов&#34;. &#34;&#34; = не использовать<br />AaFile = &#34;&#34;,<br />-- Список &#34;плохих слов&#34; по умолчанию, если не используется внешний файл<br />AaTrigs = {<br />&#34;dchub&#58;//&#34;,<br />&#34;хуй&#34;,<br />},<br />}<br />local bot_reg = 0&nbsp;&nbsp;<br />local r,sc = &#34;=&#34;,0<br />OnStartup = function&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local LuaVer = _VERSION&#58;sub&#40;1,7&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if LuaVer ~= &#34;Lua 5.1&#34; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return OnError&#40;&#34;Данный скрипт не совместим с версией &#34;.._VERSION&#41;,true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cfg.Script = &#34;Chat History 1.08 for PtokaX &#34;.._VERSION..&#34; by Mutor &#40;Modified by Nafanya&#41;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cfg.Pfx = SetMan.GetString&#40;29&#41;&#58;sub&#40;1,1&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if bot_reg==1 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.RegBot&#40;Cfg.Bot,Cfg.Desc,Cfg.Mail,true&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cfg.Path = string.gsub&#40;Core.GetPtokaXPath&#40;&#41;..&#34;scripts/&#34;,&#34;/&#34;,&#34;&#092;&#092;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cfg.File = Cfg.Path..Cfg.File<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cfg.UserFile = Cfg.Path..Cfg.UserFile<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if loadfile&#40;Cfg.File&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dofile&#40;Cfg.File&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local f,e = io.open&#40;Cfg.File&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local size = f&#58;seek&#40;&#34;end&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size = FormatSize&#40;size&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f&#58;close&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnError&#40;Cfg.File..&#34; был найден и выполнен. Размер файла&#58; &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size..&#34; Записываются &#34;..#Cfg.Chat..&#34; юзера&#40;ов&#41;.&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cfg.Chat = {}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local t = {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tonumber&#40;os.date&#40;&#34;%Y&#34;&#41; + os.date&#40;&#34;%j&#34;&#41;&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.date&#40;&#34; ---&#34;&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.date&#40;&#34;&#91;%H&#58;%M&#58;%S&#93;&#34;&#41;..string.sub&#40;string.lower&#40;os.date&#40;&#34;%R&#34;&#41;&#41;,0,0&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#34;&#60;&#34;..Cfg.Bot..&#34;&#62; Файл истории чата создан &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.date&#40;&#34;от&#58; %m&#58;%d&#58;%Y&#34;&#41;..string.sub&#40;string.lower&#40;os.date&#40;&#34;%R&#34;&#41;&#41;,0,0&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.insert&#40;Cfg.Chat,t&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SaveToFile&#40;Cfg.File,Cfg.Chat,&#34;Cfg.Chat&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnError&#40;Cfg.File..&#34; не найден. Этот файл может быть создан вами.&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if loadfile&#40;Cfg.UserFile&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dofile&#40;Cfg.UserFile&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local f,e = io.open&#40;Cfg.UserFile&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local size = f&#58;seek&#40;&#34;end&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size = FormatSize&#40;size&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; f&#58;close&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnError&#40;Cfg.UserFile..&#34; был найден и выполнен. Размер файла&#58; &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; size..&#34; Записываются &#34;..#Cfg.Exclude..&#34; юзера&#40;ов&#41;.&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cfg.Exclude = {}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SaveToFile&#40;Cfg.UserFile,Cfg.Exclude,&#34;Cfg.Exclude&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; OnError&#40;Cfg.UserFile..&#34; не найден. Этот файл может быть создан вами.&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Cfg.AaFile ~= &#34;&#34; and loadfile&#40;Cfg.AaFile&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dofile&#40;Cfg.File&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnError&#40;Cfg.Script..&#34; загружен. Использовано памяти&#58; &#34;..CleanMem&#40;&#41;&#41;<br />end<br /><br />OnExit = function&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnError&#40;Cfg.Script..&#34; остановлен, освобождено &#34;..CleanMem&#40;&#41;..&#34; памяти.&#34;&#41;<br />end<br /><br />OnError = function&#40;msg&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Core.GetUser&#40;Cfg.OpNick&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Core.SendToNick&#40;Cfg.OpNick,&#34;&#60;&#34;..Cfg.Bot..&#34;&#62; &#34;..msg&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />end<br /><br />ChatArrival = function&#40;user, data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data = data&#58;sub&#40;1,-2&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local _,_,to = data&#58;find&#40;&#34;^$To&#58; &#40;%S+&#41; From&#58;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local _,_,prefix = data&#58;find&#40;&#34;%b&#60;&#62; &#40;&#91;&#34;..SetMan.GetString&#40;29&#41;..&#34;&#93;&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if data&#58;match&#34;%b&#60;&#62; is kicking &#34; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data = data&#58;gsub&#40;&#34;kicking&#34;, &#34;kiсking&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if not prefix and not to then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local op = user.iProfile<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if &#40;op &#60; 3&#41; and &#40;op &#62; -1&#41; and ChkAd&#40;data&#41; and Cfg.AaBlock &#62; 0 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if Cfg.AaReply ~= &#34;&#34; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToUser&#40;user,&#34;&#60;&#34;..Cfg.Bot..&#34;&#62;&#34;..Cfg.AaReply&#58;gsub&#40;&#34;%&#40;user%&#41;&#34;,user.sNick&#41;..&#34;|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if Cfg.AaBlock == 2 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return false<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t = {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tonumber&#40;os.date&#40;&#34;%Y&#34;&#41; + os.date&#40;&#34;%j&#34;&#41;&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.date&#40;&#34; ---&#34;&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.date&#40;&#34;&#91;%H&#58;%M&#58;%S&#93;&#34;&#41;..string.sub&#40;string.lower&#40;os.date&#40;&#34;%R&#34;&#41;&#41;,0,0&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; data,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.insert&#40;Cfg.Chat,t&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for x = 1, #Cfg.Chat - Cfg.MaxChat do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.remove&#40;Cfg.Chat,1&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveToFile&#40;Cfg.File,Cfg.Chat,&#34;Cfg.Chat&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,cmd = data&#58;find&#40;&#34;%b&#60;&#62; %p&#40;%w+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cmd and Cmds&#91;cmd&#93; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if Cfg.Profiles&#91;user.iProfile&#93; and Cfg.Profiles&#91;user.iProfile&#93;&#91;1&#93; == 1 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if to and to == Cfg.Bot then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Core.SendPmToUser&#40;user,Cfg.Bot,Cmds&#91;cmd&#93;&#40;user,data&#41;..&#34;|&#34;&#41;,true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Core.SendToUser&#40;user,&#34;&#60;&#34;..Cfg.Bot..&#34;&#62; &#34;..Cmds&#91;cmd&#93;&#40;user,data&#41;..&#34;|&#34;&#41;,true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if to and to == Cfg.Bot then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Core.SendPmToUser&#40;user,Cfg.Bot,user.sNick..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#34; вы не имеете доступа к использованию этой команды.|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Core.SendToUser&#40;user,&#34;&#60;&#34;..Cfg.Bot..&#34;&#62; &#34;..user.sNick..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#34; вы не имеете доступа к использованию этой команды.|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />end<br /><br />ToArrival = ChatArrival<br /><br />UserConnected = function&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if Cfg.Profiles&#91;user.iProfile&#93; and Cfg.ShowHistoty&#91;user.iProfile&#93;&#91;1&#93; == 1 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Exclude = CheckEx&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not Exclude then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local add = &#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Core.SendToUser&#40;user,&#34;&#60;&#34;..Cfg.Bot..&#34;&#62; &#34;..add..GetChat&#40;Cfg.History&#41;..&#34;|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if SendCmds&#40;user&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Profile = ProfName&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--Core.SendToUser&#40;user,&#34;&#60;&#34;..Cfg.Bot..&#34;&#62; &#34;..Profile..&#34;'s Chat History 1.06 &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;--&#34;команд доступно. Правый клик по вкладке хаба для меню команд.|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />end<br /><br />RegConnected,OpConnected = UserConnected,UserConnected<br /><br />CleanMem = function&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; collectgarbage&#40;&#34;collect&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Cfg.Mem = string.format&#40;&#34;%-.2f Kb.&#34;,collectgarbage&#40;&#34;count&#34;&#41;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return Cfg.Mem<br />end<br /><br />CheckEx = function&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for a,b in ipairs&#40;Cfg.Exclude&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if b&#58;lower&#40;&#41; == user.sNick&#58;lower&#40;&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return a<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />end<br /><br />GetChat = function&#40;lines&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local x = lines<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if lines &#62; #Cfg.Chat then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x,lines = #Cfg.Chat,#Cfg.Chat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; x = #Cfg.Chat - x<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local str = &#34;&#34;..string.rep&#40;&#34; &#34;,0&#41;..&#34;Последние &#40; &#34;..&#40;lines&#41;..&#34; &#41; сообщений чата!&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for i,v in ipairs&#40;Cfg.Chat&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if i &#62; x then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = str..&#34;&#092;r&#092;n &#34;..v&#91;2&#93;..&#34; &#34;..v&#91;3&#93;..&#34; &#34;..v&#91;4&#93;..&#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return str..&#34;&#092;r&#092;n&#34;..string.rep&#40;&#34; &#34;,0&#41;..&#34;&#34;<br />end<br /><br />DelChat = function&#40;lines&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local count = lines<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if lines &#62; #Cfg.Chat then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines = #Cfg.Chat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if lines == #Cfg.Chat then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count = &#34;all &#34;..lines<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for x = 1, lines do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.remove&#40;Cfg.Chat,1&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if #Cfg.Chat == 0 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local t = {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; tonumber&#40;os.date&#40;&#34;%Y&#34;&#41; + os.date&#40;&#34;%j&#34;&#41;&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.date&#40;&#34; ---&#34;&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.date&#40;&#34;&#91;%H&#58;%M&#58;%S&#93;&#34;&#41;..string.sub&#40;string.lower&#40;os.date&#40;&#34;%R&#34;&#41;&#41;,0,0&#41;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#34;&#60;&#34;..Cfg.Bot..&#34;&#62; Лог чата очищен &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; os.date&#40;&#34;от&#58; %m&#58;%d&#58;%Y&#34;&#41;..string.sub&#40;string.lower&#40;os.date&#40;&#34;%R&#34;&#41;&#41;,0,0&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; table.insert&#40;Cfg.Chat,t&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SaveToFile&#40;Cfg.File,Cfg.Chat,&#34;Cfg.Chat&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return &#34;Удалено &#34;..count..&#34; messages.&#34;<br />end<br /><br />function Serialize&#40;tTable, sTableName, sTab&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert&#40;tTable, &#34;tTable equals nil&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert&#40;sTableName, &#34;sTableName equals nil&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert&#40;type&#40;tTable&#41; == &#34;table&#34;, &#34;tTable must be a table!&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; assert&#40;type&#40;sTableName&#41; == &#34;string&#34;, &#34;sTableName must be a string!&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sTab = sTab or &#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sTmp = &#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sTmp = sTmp..sTab..sTableName..&#34; = {&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for key, value in ipairs&#40;tTable&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local sKey = &#40;type&#40;key&#41; == &#34;string&#34;&#41; and string.format&#40;&#34;&#91;%q&#93;&#34;,key&#41; or string.format&#40;&#34;&#91;%d&#93;&#34;,key&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if&#40;type&#40;value&#41; == &#34;table&#34;&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sTmp = sTmp..Serialize&#40;value, sKey, sTab..&#34;&#092;t&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local sValue = &#40;type&#40;value&#41; == &#34;string&#34;&#41; and string.format&#40;&#34;%q&#34;,value&#41; or tostring&#40;value&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sTmp = sTmp..sTab..&#34;&#092;t&#34;..sKey..&#34; = &#34;..sValue<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sTmp = sTmp..&#34;,&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sTmp = sTmp..sTab..&#34;}&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return sTmp<br />end<br /><br />function SaveToFile&#40;File , Table , Tablename&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; local handle = io.open&#40;File,&#34;w&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle&#58;write&#40;Serialize&#40;Table, Tablename&#41;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle&#58;flush&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; handle&#58;close&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; CleanMem&#40;&#41;<br />end<br /><br />SendCmds = function&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;if Cfg.Profiles&#91;user.iProfile&#93; and &#40;Cfg.Profiles&#91;user.iProfile&#93;&#91;1&#93; == 1 or Cfg.Profiles&#91;user.iProfile&#93;&#91;1&#93; == 2&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local m,s,pfx = Cfg.Menu,Cfg.SubMenu,Cfg.Pfx<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local c,n,pm,p = &#34;$UserCommand 1&#34;,&#34;$&#60;%&#91;mynick&#93;&#62;&#34;,&#34;$$To&#58; &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Cfg.Bot..&#34; From&#58; %&#91;mynick&#93; &#34;,&#34;||&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i,v in pairs&#40;Cmds&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local d,a1,a2 = Cmds&#91;i&#93;&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToUser&#40;user,c..&#34; 1 &#34;..s..&#34;&#092;&#092;&#34;..d..n..&#34; &#34;..pfx..i..a1..p&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToUser&#40;user,c..&#34; 2 &#34;..s..&#34;&#092;&#092;&#34;..d..pm..n..&#34; &#34;..pfx..i..a2..p&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CleanMem&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />end<br /><br /><br />FormatSize = function&#40;int&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp; local i,u,x = tonumber&#40;int&#41; or 0,{&#34;&#34;,&#34;K&#34;,&#34;M&#34;,&#34;G&#34;,&#34;T&#34;,&#34;P&#34;},1<br />&nbsp;&nbsp;&nbsp;&nbsp; while i &#62; 1024 do i,x = i/1024,x+1 end return string.format&#40;&#34;%.2f %sB.&#34;,i,u&#91;x&#93;&#41;<br />end<br /><br />ProfName = function&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp; local p,prof = user.iProfile<br />&nbsp;&nbsp;&nbsp;&nbsp; if p and p ~= -1 then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prof = ProfMan.GetProfile&#40;p&#41;.sProfileName<br />&nbsp;&nbsp;&nbsp;&nbsp; else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;prof = &#34;Незарегистрированный пользователь&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp; return prof<br />end<br /><br />ChkAd = function&#40;data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp; for i,v in ipairs&#40;Cfg.AaTrigs or {}&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if data&#58;lower&#40;&#41;&#58;find&#40;v&#58;lower&#40;&#41;,1,1&#41; or data&#58;lower&#40;&#41;&#58;find&#40;&#34;%d+%.%d+%.%d+%.%d+&#34;&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return i<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; end<br />&nbsp;&nbsp;&nbsp;&nbsp; end<br />end<br /><br /><br />Cmds = {<br />&nbsp;&nbsp;&nbsp;&nbsp;togglehistory = function&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local status,result = &#34;удалены из&#34;,&#34;Теперь вы будете получать историю чата при входе в хаб.&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local Exclude = CheckEx&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not Exclude then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.insert&#40;Cfg.Exclude,user.sNick&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;status,result = &#34;добавлены в&#34;,&#34;Вы больше не &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;будете получать историю чата при входе в хаб.&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.remove&#40;Cfg.Exclude,Exclude&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveToFile&#40;Cfg.UserFile,Cfg.Exclude,&#34;Cfg.Exclude&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Вы были &#34;..status..&#34; в таблицу исключений. &#34;..result<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Включить/выключить историю чата&#34;,&#34;&#34;,&#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />&nbsp;&nbsp;&nbsp;&nbsp;history = function&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local ChatLines = Cfg.MaxChat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,lines = data&#58;find&#40;&#34;%b&#60;&#62; %p%a+ &#40;%d+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not lines then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines = ChatLines<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines = tonumber&#40;lines&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local x = lines<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;x = #Cfg.Chat - x<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local str = &#34;&#092;r&#092;n &#60;&#34;..r&#58;rep&#40;4&#41;..&#34;&#91; Последние &#40; &#34;..&#40;lines&#41;..&#34; &#41; сообщений чата &#93;&#34;..r&#58;rep&#40;38&#41;..&#34;&#62;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i,v in ipairs&#40;Cfg.Chat&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if i &#62; x then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = str..&#34;&#092;r&#092;n &#91;&#34;..string.format&#40;&#34;%&#34;..string.len&#40;#Cfg.Chat&#41;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;s&#34;,i&#41;..&#34;&#93; &#34;..v&#91;2&#93;..&#34; &#34;..v&#91;3&#93;..&#34; &#34;..v&#91;4&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return str..&#34;&#092;r&#092;n&#092;r&#092;n &#60;&#34;..r&#58;rep&#40;45 + string.len&#40;lines&#41;&#41;..&#34;&#91; Конец истории чата &#93;&#34;..r&#58;rep&#40;4&#41;..&#34;&#62;&#092;r&#092;n&#34;<br />--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return GetChat&#40;lines&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;История чата&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;&#34;..ChatLines..&#34;&#41;&#93;&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;Число строк &#40;** пусто = &#34;..ChatLines..&#34;&#41;&#93;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />&nbsp;&nbsp;&nbsp;&nbsp;nickhistory = function&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,nick = data&#58;find&#40;&#34;%b&#60;&#62; %p%a+ &#40;%S+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if nick then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,count = data&#58;find&#40;&#34;%b&#60;&#62; %p%a+ %S+ &#40;%d+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;count = tonumber&#40;count&#41; or #Cfg.Chat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local sn = &#34;&#60;&#34;..nick&#58;lower&#40;&#41;..&#34;&#62;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local cnt,str = 0,&#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i,v in ipairs&#40;Cfg.Chat&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,n = v&#91;4&#93;&#58;lower&#40;&#41;&#58;find&#40;&#34;^&#40;%b&#60;&#62;&#41; &#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if n and n == sn and cnt &#60; count then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cnt,str = cnt + 1,str..&#34;&#092;r&#092;n &#91;&#34;..string.format&#40;&#34;%&#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;string.len&#40;#Cfg.Chat&#41;..&#34;s&#34;,i&#41;..&#34;&#93; &#34;..v&#91;2&#93;..&#34; &#34;..v&#91;3&#93;..&#34; &#34;..v&#91;4&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cnt &#62; 0 then<br />--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local pl = &#34;s&#34;<br />--&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cnt == 1 then pl = &#34;&#34; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;&#092;r&#092;n &#60;&#34;..r&#58;rep&#40;4&#41;..&#34;&#91; Последние &#40; &#34;..tostring&#40;cnt&#41;..&#34; &#41; сообщений чата для &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;nick..&#34; &#93;&#34;..r&#58;rep&#40;31&#41;..&#34;&#62;&#092;r&#092;n&#34;..str..&#34;&#092;r&#092;n&#092;r&#092;n &#60;&#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&#58;rep&#40;41 + string.len&#40;cnt&#41;&#41;..&#34;&#91; Конец истории чата &#34;..nick..&#34; &#93;&#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r&#58;rep&#40;4&#41;..&#34;&#62;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Извините, &#34;..user.sNick..&#34;, записей для ника &#34;..nick..&#34; не найдено.&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Ошибка! Использовать&#58; &#34;..Cfg.Pfx..&#34;nickhistory &#60;nick&#62;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Запросить историю чата для ника&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;Ник пользователя&#93; %&#91;line&#58;Число сообщений &#40;**пусто = все&#41;&#93;&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;nick&#93; %&#91;line&#58;Число сообщений &#40;**пусто = все&#41;&#93;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />&nbsp;&nbsp;&nbsp;&nbsp;dayhistory = function&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local today = tonumber&#40;os.date&#40;&#34;%Y&#34;&#41; + os.date&#40;&#34;%j&#34;&#41;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,days = data&#58;find&#40;&#34;%b&#60;&#62; %p%a+ &#40;%d+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if days then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local past = today - tonumber&#40;days&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OnError&#40;past&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local str = &#34;&#092;r&#092;n&#092;r&#092;n &#60;&#34;..r&#58;rep&#40;4&#41;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#91; Последние &#40; &#34;..days..&#34; &#41; дней чата &#93;&#34;..r&#58;rep&#40;43&#41;..&#34;&#62;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i,v in ipairs&#40;Cfg.Chat&#41;do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if v&#91;1&#93; &#62; past then str = str..&#34;&#092;r&#092;n &#91;&#34;..i..&#34;&#93; &#34;..v&#91;2&#93;..&#34; &#34;..v&#91;3&#93;..&#34; &#34;..v&#91;4&#93; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str = str..&#34;&#092;r&#092;n&#092;r&#092;n &#60;&#34;..r&#58;rep&#40;46 + days&#58;len&#40;&#41;&#41;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#91; Конец истории чата &#93;&#34;..r&#58;rep&#40;4&#41;..&#34;&#62;&#092;r&#092;n&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return str<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Вы должны указать количество дней&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;История чата за дни&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;Сколько дней чата показать?&#93;&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;Сколько дней чата показать?&#93;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />&nbsp;&nbsp;&nbsp;&nbsp;delete = function&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local ChatLines = #Cfg.Chat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user.iProfile == Cfg.AdminProf then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,lines = data&#58;find&#40;&#34;%b&#60;&#62; %p%a+ &#40;%d+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not lines then lines = ChatLines else lines = tonumber&#40;lines&#41; end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return DelChat&#40;lines&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Извините, &#34;..user.sNick..&#34;, эта команда для &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProfMan.GetProfile&#40;Cfg.AdminProf&#41;.sProfileName..&#34; только.&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Удалить историю чата&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;# of Lines **None = All &#40;&#34;..ChatLines..&#34;&#41; messages &#93;&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;# of Lines **None = All &#40;&#34;..ChatLines..&#34;&#41; messages &#93;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />&nbsp;&nbsp;&nbsp;&nbsp;delchat = function&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local ChatLines = #Cfg.Chat<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user.iProfile == Cfg.AdminProf then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local _,_,line = data&#58;find&#40;&#34;%b&#60;&#62; %p%a+ &#40;%d+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if line then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line = tonumber&#40;line&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if Cfg.Chat&#91;line&#93; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local str = Cfg.Chat&#91;line&#93;&#91;4&#93;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;table.remove&#40;Cfg.Chat,line&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SaveToFile&#40;Cfg.File,Cfg.Chat,&#34;Cfg.Chat&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Chat entry &#34;..line..&#34; deleted has been deleted.&#092;r&#092;n&#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;Deleted Entry&#58; &#34;..string.format&#40;&#34;%q&#34;,str&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return line..&#34; is not a valid entry.&#34;..GetChat&#40;Cfg.History&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;You must specify an entry to delete.&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Sorry &#34;..user.sNick..&#34;, this command is for &#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ProfMan.GetProfile&#40;Cfg.AdminProf&#41;.sProfileName..&#34;'s only.&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Удалить строку&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;Delete Which Entry?&#93;&#34;,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34; %&#91;line&#58;Delete Which Entry?&#93;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />&nbsp;&nbsp;&nbsp;&nbsp;chathelp = function&#40;user,data,to&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if user then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local reply = &#34;Chat History Help&#092;n&#092;n&#092;tКоманды&#092;t&#092;tОписание&#092;r&#092;n&#34;..<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#092;t&#34;..r&#58;rep&#40;40&#41;..&#34;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i,v in pairs&#40;Cmds&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;local desc,args = Cmds&#91;i&#93;&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reply = reply..&#34;&#092;t&#34;..Cfg.Pfx..string.format&#40;&#34;%-15s&#34;,i&#41;..&#34;&#092;t&#34;..desc..&#34;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return reply..&#34;&#092;n&#092;t&#34;..r&#58;rep&#40;40&#41;..&#34;&#092;r&#092;n&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return &#34;Подсказка по командам для истории чата&#34;,&#34;&#34;,&#34;&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end,<br />}<!--c2--></div><!--ec2--><div class="clear"></div></div></div></div><br />P.S На версиях 0.4.1.1 и 0.4.1.2 Скрипт работает прекрасно!]]></description>
		<pubDate>Tue, 20 Mar 2012 00:29:30 +0400</pubDate>
		<guid>http://mydc.ru/topic5246.html</guid>
	</item>
	<item>
		<title><![CDATA[[AMXX]DCBot]]></title>
		<link>http://mydc.ru/topic5242.html</link>
		<description><![CDATA[Название скрипта: [AMXX]DCBot<br />Версия скрипта: ?<br />Версия API: API2<br />Автор: Bo)I(Db<br />Описание скрипта: Выводит состояние сервера cs 1.6 в чат <br /><br /><noindex><a href="http://mydc.ru/r/?http://makeserver.ru/plaginy/13174-amx-dc-bot-v-018.html" rel="nofollow" target="_blank">полный F.A.Q по установке плагина</a></noindex><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=6396'>http://mydc.ru/ipb.html?act=attach&type=post&id=6396</a><br /><br />Работу скрипта можно проверить на хабе, ссылка расположена в подписи.]]></description>
		<pubDate>Sun, 18 Mar 2012 10:20:56 +0400</pubDate>
		<guid>http://mydc.ru/topic5242.html</guid>
	</item>
	<item>
		<title>Антитор</title>
		<link>http://mydc.ru/topic5239.html</link>
		<description><![CDATA[<b>Идея:</b> RoLex<br /><b>Автор:</b> Tsd<br /><b>Версия скрипта:</b> 1.0<br /><b>Версия API:</b> 2<br /><b>OS:</b> Windows<br /><b>Описание скрипта:</b> Скрипт не даёт зайти на хаб пользователям, использующим технологию <noindex><a href="http://mydc.ru/r/?http://xakep.ru/post/50516/" rel="nofollow" target="_blank">Tor</a></noindex><br />Проще говоря, эта технология похожа на коннект пользователя на хаб через прокси, но более продвинутая.<br />Скрипт использует утилиту <noindex><a href="http://mydc.ru/r/?http://ru.wikipedia.org/wiki/CURL" rel="nofollow" target="_blank">Curl</a></noindex> для обновления списка IP торов с сервера обновлений.<br />Операторов не трогает. Вид наказания и другие настройки в конфигураторе.<br />Протестировано на OS Windows Server 2003, PtokaX 0.4.2.0<br />Tsd © 15.03.2012]]></description>
		<pubDate>Thu, 15 Mar 2012 21:36:39 +0400</pubDate>
		<guid>http://mydc.ru/topic5239.html</guid>
	</item>
	<item>
		<title>Синхронизация двух хабов</title>
		<link>http://mydc.ru/topic5238.html</link>
		<description>В общем ситуация такова. В удаленном городе в связи с расширением радиоканала и для резервирования некоторых сервисов (DHCP, DNS, retracker) планируется ставить сервер (маршрутизатор). Хочу туда же установить Птоку, чтобы в случае пропадения линка юзеры могли хотя бы локальным трафиком обмениваться, ну и поговорить между собой. Теперь возникает задача. Как синхронизировать Птоку с уже установленной и работающей Птокой в центре основной сети. Требуется синхронизация чатов и пользователей. Возможно ли это?</description>
		<pubDate>Wed, 14 Mar 2012 18:57:06 +0400</pubDate>
		<guid>http://mydc.ru/topic5238.html</guid>
	</item>
	<item>
		<title>помогите переделать скрипт для Ptokax</title>
		<link>http://mydc.ru/topic5237.html</link>
		<description><![CDATA[Доброго времени суток! Отмечу заранее что в скриптинге я полнейший нуб и стал обустравать свою птоку и возиться в скриптах относительно не давно... Мне был необходим скрипт, который бы реагировал на определенную фразу или слово пользователя написанного в чат и отвечал на нее комментарием в информационных целых. К примеру если пользователь напишет в чат слово "Игры" то скрипт выдаст ему список игрушек или же ссылочек по которым он их может скачать! Так как собственноручное написание сего чуда оказалось для меня сложной задачей, я нащел примерно подходящий мне скрипт по нуждам, и попытался его переделать! думаю многие сталкивались с подобным скриптом этакого бота болтуна, реагирующего на фразы и выдающего на них свой коммент...<br /><br /><br /><br /><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->BotName = &#34;¤1G¤INFO-BOT&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- имя бота <br />BotDesc = &#34;Информационный бот&#34;&nbsp;&nbsp;&nbsp;&nbsp;-- описание бота<br />BotEmail = &#34;&#34;&nbsp;&nbsp;&nbsp;&nbsp;-- email бота<br /><br />------------------------------------------------------------------------------------------------------------<br />------------------------------------------------------------------------------------------------------------<br /><br />-- Таблица ников-исключений,чьи фразы бот не будет комментировоть &#40;примеры ниже&#41;<br />TableName = {<br /> &#91;&#34;121212&#34;&#93; = 1,<br /> &#91;&#34;232323&#34;&#93; = 1,<br /> &#91;&#34;34343&#34;&#93; = 1,<br /> &#91;&#34;4545&#34;&#93; = 0,<br /> &#91;&#34;56565656&#34;&#93; = 0,<br /> &#91;&#34;Админ&#34;&#93; = 0,<br /> &#91;&#34;Админ&#34;&#93; = 0,<br /><br />}<br /><br />------------------------------------------------------------------------------------------------------------<br />------------------------------------------------------------------------------------------------------------<br /><br />trigs = {&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#91;&#34;привет&#34;&#93;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#91;curUser&#93;, и тебе здорово!<br />&nbsp;&nbsp;&nbsp;&nbsp;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br />------------------------------------------------------------------------------------------------------------<br />------------------------------------------------------------------------------------------------------------<br /><br />Rus={&#91;&#34;А&#34;&#93;=&#34;а&#34;,&#91;&#34;Б&#34;&#93;=&#34;б&#34;,&#91;&#34;В&#34;&#93;=&#34;в&#34;,&#91;&#34;Г&#34;&#93;=&#34;г&#34;,&#91;&#34;Д&#34;&#93;=&#34;д&#34;,&#91;&#34;Е&#34;&#93;=&#34;е&#34;,&#91;&#34;Ё&#34;&#93;=&#34;ё&#34;,&#91;&#34;Ж&#34;&#93;=&#34;ж&#34;,&#91;&#34;З&#34;&#93;=&#34;з&#34;,&#91;&#34;И&#34;&#93;=&#34;и&#34;,&#91;&#34;Й&#34;&#93;=&#34;й&#34;,&#91;&#34;К&#34;&#93;=&#34;к&#34;,&#91;&#34;Л&#34;&#93;=&#34;л&#34;,&#91;&#34;М&#34;&#93;=&#34;м&#34;,&#91;&#34;Н&#34;&#93;=&#34;н&#34;,&#91;&#34;О&#34;&#93;=&#34;о&#34;,&#91;&#34;П&#34;&#93;=&#34;п&#34;,&#91;&#34;Р&#34;&#93;=&#34;р&#34;,&#91;&#34;С&#34;&#93;=&#34;с&#34;,&#91;&#34;Т&#34;&#93;=&#34;т&#34;,&#91;&#34;У&#34;&#93;=&#34;у&#34;,&#91;&#34;Ф&#34;&#93;=&#34;ф&#34;,&#91;&#34;Х&#34;&#93;=&#34;х&#34;,&#91;&#34;Ц&#34;&#93;=&#34;ц&#34;,&#91;&#34;Ч&#34;&#93;=&#34;ч&#34;,&#91;&#34;Ш&#34;&#93;=&#34;ш&#34;,&#91;&#34;Щ&#34;&#93;=&#34;щ&#34;,&#91;&#34;Ъ&#34;&#93;=&#34;ъ&#34;,&#91;&#34;Ы&#34;&#93;=&#34;ы&#34;,&#91;&#34;Ь&#34;&#93;=&#34;ь&#34;,&#91;&#34;Э&#34;&#93;=&#34;э&#34;,&#91;&#34;Ю&#34;&#93;=&#34;ю&#34;,&#91;&#34;Я&#34;&#93;=&#34;я&#34;}<br /><br />function OnStartup&#40;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;if &#40;_VERSION == &#34;Lua 5.1.1&#34;&#41; or &#40;_VERSION == &#34;Lua 5.1&#34;&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableMaxSize = table.maxn<br />&nbsp;&nbsp;&nbsp;&nbsp;elseif &#40;_VERSION == &#34;Lua 5.0.2&#34;&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TableMaxSize = table.getn<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;Core.RegBot&#40;BotName,BotDesc,BotEmail,true&#41;<br />end<br /> <br />function ChatArrival&#40;curUser,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;Core.GetUserAllData&#40;curUser&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;if TableName&#91;curUser.sNick&#93; ~=1 then if string.sub&#40;data, 1, 1&#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data=string.sub&#40;data,1,string.len&#40;data&#41;-1&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s,e,cmd,RestOfText = string.find&#40; data, &#34;%b&#60;&#62;%s+&#40;%S+&#41;%s+&#40;.*&#41;&#34; &#41;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if RestOfText == nil then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RestOfText = &#34;&#34;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s,e,cmd = string.find&#40; data, &#34;%b&#60;&#62;%s+&#40;%S+&#41;&#34; &#41;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s,e,mess = string.find&#40;data, &#34;^%b&#60;&#62;%s&#40;.*&#41;$&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for key in pairs&#40;trigs&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if mess then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for b,s in pairs&#40;Rus&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;data=string.gsub&#40;data , b, Rus&#91;b&#93;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&#40; string.find&#40;data, key&#41; &#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;answer, x = string.gsub&#40;trigs&#91;key&#93;&#91;math.random&#40;1,TableMaxSize&#40;trigs&#91;key&#93;&#41;&#41;&#93;, &#34;%b&#91;&#93;&#34;, curUser.sNick&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToAll&#40;&#34;&#60;&#34;..curUser.sNick..&#34;&#62; &#34;..cmd..&#34; &#34;..RestOfText&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToAll&#40;&#34;&#60;&#34;..BotName..&#34;&#62; &#34;.. answer &#41;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&#40; string.find&#40; string.lower&#40;mess&#41;, key&#41; &#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;answer, x = string.gsub&#40;trigs&#91;key&#93;&#91;math.random&#40;1,TableMaxSize&#40;trigs&#91;key&#93;&#41;&#41;&#93;, &#34;%b&#91;&#93;&#34;, curUser.sNick&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToAll&#40;&#34;&#60;&#34;..curUser.sNick..&#34;&#62; &#34;..cmd..&#34; &#34;..RestOfText&#41;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToAll&#40;&#34;&#60;&#34;..BotName..&#34;&#62; &#34;.. answer &#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />end<br /><br /><br />&#91;b&#93;проблема же с которй я столкнулся состояла в том, что данный скриптик на отрез отказывался понимать многострочные ответы, например вместо&#58;&#91;/b&#93;<br /><br /><br />trigs = {&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#91;&#34;привет&#34;&#93;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#91;curUser&#93;, и тебе здорово!<br />&nbsp;&nbsp;&nbsp;&nbsp;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br /><br /><br />&#91;b&#93;необходимо было-бы&#58;&#91;/b&#93;<br /><br /><br />trigs = {&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&#91;&#34;привет&#34;&#93;={<br />&nbsp;&nbsp;&nbsp;&nbsp;&#34;&#91;curUser&#93;, и тебе <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;здорово!<br />&nbsp;&nbsp;&nbsp;&nbsp;},<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />}<!--c2--></div><!--ec2--><br /><br />однако при добавлении еще одной строки в ответ бота приводила к синтаксической ошибке:<br />Синтаксис E:&#092;ptokax&#092;ptokax&#092;scripts&#092;Болтун.lua:37: unfinished string near '"[curUser], и тебе'<br /><br />естественно использование таких ответов в качестве информационных по запросу пользователей затруднительно, так как ответ должен быть однострочным!<br />был бы очень признателен и благодарен вам товарищи, если бы вы помогли усовершенствовать скрипт и "научить" его отвечать многострочными фразами)]]></description>
		<pubDate>Wed, 14 Mar 2012 02:49:56 +0400</pubDate>
		<guid>http://mydc.ru/topic5237.html</guid>
	</item>
	<item>
		<title>Комплименты</title>
		<link>http://mydc.ru/topic5234.html</link>
		<description><![CDATA[<b>Название:</b> Комплимент<br /><b>Автор: </b>AirKobra45 <br /><b>Версия API:</b> API2<br /><b>Описание скрипта:</b> Выводит комплимент выбранному пользователю из чата.<br /><br />Как-то в аське увидел такую штуку.. ну мне захотелось тож самое и в ДЦ задуманно - сделано! (ещё год назад)<br />Вот смотрим комментируем пользуемся!]]></description>
		<pubDate>Mon, 12 Mar 2012 16:49:23 +0400</pubDate>
		<guid>http://mydc.ru/topic5234.html</guid>
	</item>
	<item>
		<title>luacockete 2.0.2</title>
		<link>http://mydc.ru/topic5229.html</link>
		<description><![CDATA[Вот такая беда:<br /><br /> При запуске экзекутора через 3-4 часа падает хаб. если экзекутора выключить все ок.<br /> <br /> в логах пусто а кроме времени запуска хаба. мож где то по подробней описана причина аварии. <br /><br /> p.s. <b>полагаю что дело в luacockete 2.0.2.</b><br /><br /> из установленных программ:<br /> LUA-5.1.4 и LuaSocket-2.0.2 устанавливал по этому ману: <a href="http://mydc.ru/topic4958.html" target="_blank">http://mydc.ru/topic4958.html</a><br /> PtokaX 0.4.2.0 и  tinyxml 2_6_2 скачал с оф сайта <br /> <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">и установил</div></div><div class="sp-body"><div class="sp-content"><br /> wget <noindex><a href="http://mydc.ru/r/?http://www.czdc.org/PtokaX/0.4.2.0-nix-src.tgz" rel="nofollow" target="_blank">http://www.czdc.org/PtokaX/0.4.2.0-nix-src.tgz</a></noindex><br /> tar -zxvf 0.4.2.0-nix-src.tgz<br /> cd PtokaX<br /><br /> wget <noindex><a href="http://mydc.ru/r/?http://downloads.sourceforge.net/project/tinyxml/tinyxml/2.6.2/tinyxml_2_6_2.tar.gz" rel="nofollow" target="_blank">http://downloads.sourceforge.net/project/t...ml_2_6_2.tar.gz</a></noindex><br /> tar -zxvf tinyxml_2_6_2.tar.gz<br /> cd tinyxml<br /> gmake<br /> cd ..<br /> <br /> в папке PtokaX  в makefile <br /> замененил строчки:<br /> $(CXX) -lpthread -lz -lrt -o PtokaX &#092;<br /> $(CURDIR)/tinyxml/tinyxml.a /usr/local/lib/liblua.a <br /><br />gmake<br /><div class="clear"></div></div></div></div><br /><br /> OS: freebsd<br />Hub: PtokaX 0.4.2.0]]></description>
		<pubDate>Tue, 06 Mar 2012 18:07:27 +0400</pubDate>
		<guid>http://mydc.ru/topic5229.html</guid>
	</item>
	<item>
		<title>Помощь по настройке скрипта</title>
		<link>http://mydc.ru/topic5228.html</link>
		<description><![CDATA[создал текстовые файлы "FAQ" и "правила", создал в меню хаба соответствующие кнопки для их скидывания в чат, но содержания этих TXT приходят всем на хаб, а нужно что бы их видел только тот, кто воспользовался соответствующей кнопкой в меню. сам скрипт вроде работает нормально, только думаю эти лишние сообщения будут мешать другим пользователям на хабе, по этому прошу кто разбирается в скриптостроении, помочь с решением данной проблемы. вот весь скрипт:<br /><!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1-->-- LUA 5 <br />--04/03/05<br />--TiMeTrAVelleRs Version<br /><br />Bot = &#34;&#91;PB&#93;Ares&#34;&nbsp;&nbsp; -- your main bot here<br />CDFolder = Core.GetPtokaXPath&#40;&#41;..&#34;scripts/text&#34; -- make folder in your scripts put your ascii there<br />SendComm = 1&nbsp;&nbsp;&nbsp;&nbsp;-- Send user command &#91;right click&#93; &#34;1&#34;=yes &#34;0&#34;=no<br />tMenu = &#34;Помощь&#34; -- ArtBotMenu Name<br /><br />SetTo = {<br /> &#91;0&#93; = 1,&nbsp;&nbsp; -- Admin<br /> &#91;1&#93; = 1,&nbsp;&nbsp; -- Moder<br /> &#91;2&#93; = 1,&nbsp;&nbsp; -- Vip<br /> &#91;3&#93; = 1,&nbsp;&nbsp; -- Reg<br /> &#91;-1&#93; = 0,&nbsp;&nbsp;-- Не зарегестрированый<br />}<br />--------------------------------------------------------------------------------------------------------------------<br /><br />--$UserCommand 1 X&nbsp;&nbsp;Where -&#62; 1=Hub Menu 2=User Menu 3=Hub/User Menu <br />--<br />function UserConnected&#40;user&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;if SendComm == 1 and SetTo&#91;user.iProfile&#93; == 1 then <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToNick&#40;user.sNick,&#34;$UserCommand 1 3 &#34;..tMenu..&#34;&#092;&#092;Ответы на вопросы$&#60;%&#91;mynick&#93;&#62; !faq&#124;|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToNick&#40;user.sNick,&#34;$UserCommand 1 3 &#34;..tMenu..&#34;&#092;&#092;Правила$&#60;%&#91;mynick&#93;&#62; !pravila&#124;|&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />end<br /><br />OpConnected = UserConnected<br /><br />function OnStartup&#40;&#41;<br />&nbsp;&nbsp; <br />end<br /><br />function ChatArrival&#40;user,data&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;Core.GetUserAllData&#40;user&#41;<br />&nbsp;&nbsp; data=string.sub&#40;data,1,string.len&#40;data&#41;-1&#41;<br />&nbsp;&nbsp; if&#40; string.sub&#40;data, 1, 1&#41; == &#34;&#60;&#34; &#41; then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s,e,cmd = string.find&#40;data,&#34;%b&#60;&#62;%s+&#40;%S+&#41;&#34;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cmd = string.sub&#40;cmd, 1,string.len&#40;cmd&#41;&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if io.open&#40;CDFolder..&#34;/&#34;..cmd..&#34;.txt&#34;,r&#41; ~= nil then<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; showtext&#40;user, cmd&#41;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return true<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp; end<br />end<br /><br />function showtext&#40;user, file&#41;<br />local contents =&#34;&#092;r&#092;n&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;for line in io.lines&#40;CDFolder..&#34;/&#34;..file..&#34;.txt&#34;&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contents = contents..line..&#34;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Core.SendToAll&#40;user.sNick..&#34;&#092;r&#092;n&#34;..contents..&#34;&#092;r&#092;n|&#34;&#41;<br />end<br /><br />function showtextold&#40;user, cmd&#41;<br />local lines=&#34;&#092;r&#092;n&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;for line in io.lines&#40;file&#41; do<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lines = lines..line..&#34;&#092;r&#092;n&#34;<br />&nbsp;&nbsp;&nbsp;&nbsp;end<br />&nbsp;&nbsp;&nbsp;&nbsp;Core.SendPmToNick&#40;user.sNick,Bot, lines..&#34; |&#34;&#41;<br />end<br />RegConnected = UserConnected<!--c2--></div><!--ec2--><br />ещё хотел чтоб в скрипте была возможность выбора куда будут приходить сообщения - в чат или в лс, и удалить создание лишних пустых строк<br />очень прошу, если есть возможность, помогите правильно настроить скрипт, я столько хотел его найти, а тут такая вот проблема вышла <img src="http://mydc.ru/style_emoticons/default/big_smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="big_smile.gif" /> <br />в случаи необходимости, могу прикрепить сам скрипт. к скрипту так же привязана папка "text", где хранятся TXT]]></description>
		<pubDate>Mon, 05 Mar 2012 00:21:46 +0400</pubDate>
		<guid>http://mydc.ru/topic5228.html</guid>
	</item>
	<item>
		<title>Defend Hub</title>
		<link>http://mydc.ru/topic5223.html</link>
		<description><![CDATA[<b>Название скрипта:</b> Defend Hub<br /><b>Версия скрипта:</b> 1.01<br /><b>Платформа:</b> PtokaX<br /><b>Версия API:</b> API2<br /><b>Автор:</b> Enyby<br /><br /><b>Описание:</b> Скрипт предназначен для полностью автоматической защиты чата хаба от активности ботов. Не пускает от ботов сообщения в чат и личку. При желании функционал запретов можно расширить. Например, запрещать искать ботам, если на вас идет атака флудом поиска. Для этого нужно править код скрипта.<br /><br /><b>Принципы работы скрипта:</b><br />Боты определяются на основе отличия их общения с хабом в рамках протокола. Подробности расписывать не стану, кому надо, все увидят в коде.<br /><br />Боты определяются не все. Но для большей части этого будет достаточно.<br /><br />Настройки скрипта содержат опции:<br />- использование тихого запрета активности ботов;<br />- запрет детекции очень старых клиентов как ботов.<br />Об активности ботов никто не уведомляется.<br /><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=6376'>http://mydc.ru/ipb.html?act=attach&type=post&id=6376</a><br /><br />P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке <noindex><a href="http://mydc.ru/r/?http://inethub.olvi.net.ua/ftp/pub/Soft/Servers/DC%2B%2B/LUA%20scripts/Enyby/" rel="nofollow" target="_blank">Мои</a></noindex> <noindex><a href="http://mydc.ru/r/?ftp://inethub.olvi.net.ua/pub/Soft/Servers/DC++/LUA%20scripts/Enyby/" rel="nofollow" target="_blank">скрипты</a></noindex>.]]></description>
		<pubDate>Sat, 03 Mar 2012 03:26:06 +0400</pubDate>
		<guid>http://mydc.ru/topic5223.html</guid>
	</item>
	<item>
		<title>Defend Chat</title>
		<link>http://mydc.ru/topic5220.html</link>
		<description><![CDATA[<b>Название скрипта:</b> Defend Chat<br /><b>Версия скрипта:</b> 1.00<br /><b>Платформа:</b> PtokaX<br /><b>Версия API:</b> API2<br /><b>Автор:</b> Enyby<br /><br /><b>Описание:</b> Скрипт предназначен для полностью автоматической защиты чата хаба от спама. Глушит сообщения со спамом.<br /><br /><b>Принципы работы скрипта:</b><br />Обычные пользователи отличаются от спамеров тем, что у обычные пользователи, если и кидают ссылку на хаб, IP адрес или что-то подобное, то это будет не первое сообщение после входа на хаб. На этом и основана работа скрипта. <br /><br />Чисто теоретически, можно сделать таймаут на все или же попавшие под паттерн сообщения. Т. е. если пользователь на хабе меньше 5 минут, то ссылку в чат он не отправит. Но подобные скрипты уже есть.<br /><br />Каждое сообщение проверяется таблицей паттернов на принадлежность к "плохим". Если сообщение плохое, то оно пройдет только в том случае, если пользователь перед этим отправил не менее 5 "хороших" сообщений в чат. Т. е.  при этом скрипте нельзя писать в чат ссылки, если не участвуешь в разговоре. После перезахода нужно снова отправить не менее 5 сообщений без ссылок, чтобы ссылка прошла в чат. Причем, при ошибочных попытках, счетчик "хороших" ссылок обнуляется. Также блокируется отправка одинаковых сообщений в чат, даже от разных пользователей.<br /><br />Операторы игнорируются, кроме случая отправки повторных сообщений. Также они уведомляются о том, что хотел сказать пользователь.<br /><br /><a href='http://mydc.ru/ipb.html?act=attach&type=post&id=6354'>http://mydc.ru/ipb.html?act=attach&type=post&id=6354</a><br /><br />P. S. Если у вас нет регистрации на этом форуме, а значит вы не можете качать вложения, то скачать этот скрипт, равно как и другие, можно по ссылке <noindex><a href="http://mydc.ru/r/?http://inethub.olvi.net.ua/ftp/pub/Soft/Servers/DC%2B%2B/LUA%20scripts/Enyby/" rel="nofollow" target="_blank">Мои</a></noindex> <noindex><a href="http://mydc.ru/r/?ftp://inethub.olvi.net.ua/pub/Soft/Servers/DC++/LUA%20scripts/Enyby/" rel="nofollow" target="_blank">скрипты</a></noindex>.]]></description>
		<pubDate>Fri, 02 Mar 2012 00:47:25 +0400</pubDate>
		<guid>http://mydc.ru/topic5220.html</guid>
	</item>
	<item>
		<title>скрыть PtokaX из списка пользователей</title>
		<link>http://mydc.ru/topic5219.html</link>
		<description><![CDATA[кто сталкивался с такой задачей:<br /><br /> скрыть пользователя PtokaX из списка пользователей сидящих на хабе?]]></description>
		<pubDate>Thu, 01 Mar 2012 09:09:14 +0400</pubDate>
		<guid>http://mydc.ru/topic5219.html</guid>
	</item>
	<item>
		<title>!stats OS:</title>
		<link>http://mydc.ru/topic5205.html</link>
		<description><![CDATA[Кто сталкивался с такой задачей:<br /> Изменить название операционной системы (которую выводит !stats)<br /><br /> <br /><br /> Uptime: 0 days, 0 hours, 46 minutes<br /> Version: PtokaX DC Hub 0.4.2.0 built on Feb 19 2011 17:31:38<br /><br /> <b><i>OS: FreeBSD 9.0-RELEASE (i386)</i></b><br /><br /> Users (Max/Actual Peak (Max Peak)/Logged): 250 / 1 (2) / 1<br /> Users shared size: 24035434470 Bytes / 22.38 GB]]></description>
		<pubDate>Sun, 19 Feb 2012 03:07:11 +0400</pubDate>
		<guid>http://mydc.ru/topic5205.html</guid>
	</item>
	<item>
		<title>Дисконнект юзеров с хаба</title>
		<link>http://mydc.ru/topic5200.html</link>
		<description><![CDATA[Доброго времени суток, уважаемые форумчане DC-воды.<br />Почти 3 года мой ДС-хаб работал как часы и вот вчера возникла серьезная проблема - сервер стал "терять" компы в локалке. Сервер - обычный пк под управлением Windows XP и с тремя сетевыми картами объединенными в мост. 2 сетевые юзаются моими машинами, через 3ю сервер подключен к простейшему хабу на этаже и далее смотрит в локалку.  Локалка - неуправляемая сеть между несколькими домами с десятком хабов и несколькими сотнями пользаков. Симптомы:<br />1) Периодически вылетают все пользователи с хаба. Пинги с сервера на рандомного пользака не идут, с моих 2х рабочих машин-идут. Пару дней назад появились первые жалобы юзеров типа "флайлинк сам перезапускается" (я так понимаю хаб кикал юзеров), сегодня птока стала валить юзеров повально.<br />2) Периодически хаб кикает меня самого (чаще всего во время отправки сообщений в чат) - тупо "удаленный хост разорвал соединение".<br />Никаких фаерволов, минимум служб и процессов вообще, никакого стороннего софта (кроме сервера кс, веб сервера, мускул и фтп). Глючить в принципе нечему. Никаких изменений на сервере не проводил уже несколько месяцев.<br />Проблема затрагивает только ДС, все остальное (интернет, кс, фтп) работает как и должно. Буду рад увидеть любые советы-предложения.]]></description>
		<pubDate>Thu, 16 Feb 2012 01:24:39 +0400</pubDate>
		<guid>http://mydc.ru/topic5200.html</guid>
	</item>
	<item>
		<title>Script_Matrix</title>
		<link>http://mydc.ru/topic5199.html</link>
		<description><![CDATA[-- <b>Скриптовая матрица-заготовка</b><br /><br /><b>Название:</b> Script_Matrix.lua<br /><b>Платформа:</b> PtokaX API-2<br /><br /><b>Доктрина:</b> "Были бы кости, мясо нарастёт."<br />-- Когда то и дело пишешь скрипты, то также приходится то и дело писать одни и те же функции и коды, и зачастую приходится их вытаскивать/копировать из собственных же (бывает и из чужих) скриптов. Вот снова решил было написать скрипт и задумался - а почему я каждый раз лезу куда-то копировать уже написанное, пора собрать черновую заготовку скриптов и уже начинать сразу с него писать, всё меньше работы.<br />-- Да и заодно новичкам будет легче ориентироваться, что к чему в скриптах (хотя бы самое простое)<br /><br /><b>Описание:</b><br />-- почти готовая к разным действиям заготовка скрипта<br />-- достаточно только инициировать нужные переменные и отслеживать за их правильным применением<br />-- всё, что между кавычками, можно менять по своему усмотрению<br />-- все ненужные функции и объявления переменных можно закомментить или удалить<br />-- можно добавить свои переменные и функции (само собой, данная матрица далеко (и очень далеко!) не всеобъемлюща)<br />-- это просто первичная заготовка, но пригодится даже опытным скриптерам (если их устроит принятые в данной матрице обозначения и иные мелочи) <img src="http://mydc.ru/style_emoticons/default/big_smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="big_smile.gif" /> Всё равно приходится выцеплять/копировать части кода со своих/чужих скриптов, так почему бы это всё не держать рядышком в корзиночке.<br /><br /><b>PS:</b><br />-- Данная матрица даже как заготовка несовершенна, ибо нет в мире совершенства, однако я понимаю, что можно увеличить универсальность данной матрицы, если добавить туда кучу других функций (штатных и самописных) и обращаться к ним при необходимости, используя флаги (есть флаг - используется, нет - проходим мимо).<br />Но это уже другая песня.<br />-- И да, я помню, что Alex82 тоже аналогичную тему создавал. Но то его тема, а это моя. <img src="http://mydc.ru/style_emoticons/default/big_smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="big_smile.gif" /> Тем более, я давно собирался сам, просто руки не доходили.<br /><br /><b>UPD:</b> - исправил одну грубую синтаксическую ошибку в 85-й строке, перезалил.<br />]]></description>
		<pubDate>Wed, 15 Feb 2012 17:17:58 +0400</pubDate>
		<guid>http://mydc.ru/topic5199.html</guid>
	</item>
	<item>
		<title>Помогите !</title>
		<link>http://mydc.ru/topic5198.html</link>
		<description><![CDATA[Прошу помощи , подсказки...<br /><br />Хочу сенить на хабе адрес. Тоесть допустим вместо адреса 100.100.0.2 заменить его на dc.hdsyes.hub.ru . А то Я в настройках прописал так и всё равно конект идёт через IP адрес а не через адрес который указан в настройках.]]></description>
		<pubDate>Tue, 14 Feb 2012 19:58:34 +0400</pubDate>
		<guid>http://mydc.ru/topic5198.html</guid>
	</item>
	<item>
		<title>может ли кто-то создать скрипт</title>
		<link>http://mydc.ru/topic5194.html</link>
		<description>можно ли создать скрипт последнии 10 сообщений чата приходили на номер мобильного телефона ?</description>
		<pubDate>Mon, 13 Feb 2012 01:43:54 +0400</pubDate>
		<guid>http://mydc.ru/topic5194.html</guid>
	</item>
	<item>
		<title>Нужна помощь по конвертированию скрипта из api1 в api2</title>
		<link>http://mydc.ru/topic5193.html</link>
		<description>Ребят нужна Ваша помощь! Я в этом вопросе нуб! ПОдскажите как переконвертировать скрипт с API1 под API2 . Если не сложно укажите программы с помощью которых можно это дело сделать! Спасибо большое!</description>
		<pubDate>Sun, 12 Feb 2012 21:11:26 +0400</pubDate>
		<guid>http://mydc.ru/topic5193.html</guid>
	</item>
	<item>
		<title>Есть ли такой скрипт?</title>
		<link>http://mydc.ru/topic5191.html</link>
		<description><![CDATA[в общем, надо бы изменить домен. старый на новый. старый пока работает, но как долго он будет работать.. ХЗ<br />есть ли скрипт для PtokaX. который может переписать адрес хаба в настройках favarites клиентов? <br />или что можно предпринять, кроме предупреждения на самом хабе?]]></description>
		<pubDate>Sat, 11 Feb 2012 18:24:26 +0400</pubDate>
		<guid>http://mydc.ru/topic5191.html</guid>
	</item>
</channel>
</rss>
