Short script description
The script is intended for using on the HUB-servers Verlihub, PtokaX 0.4.x.x, RusHub and Eximius. Required the presence of LUA 5.1.x. At desire it is possible to add any quantity of the necessary localisations for any other servers. For this purpose the script uses own API, which is processed by corresponding files of localisation. There has a built in support of plugins (expansions), with which realisation the basic Bot ?unctionality and with which it can extend. Additions, remarks, wishes and support are desirable. For use on such different platforms in script corresponding adjustment of localisation is provided.
Script use on OpenSource operating systems is appreciated (Linux, BSD and etc.).
IT AS FORBIDDEN to use this script for propagation of alcohol, tobacco, drugs, debauchery, religion, distortion the Heritage of Russia and its primary Culture!
The basic engine's possibilities and functions:
- Exceptions (the table of users exceptions);
- Restart on error;
- Logging the last messages of chat with sending to users;
- Bot hot restarting;
- Information greeting (parametres);
- Text files (imitation of commands);
- Imperceptible gag (maskgag);
- Shell and LUA console;
- Commands aliaces;
- The allowed nick chars;
- Time and date in the list of users;
- Date of the first run;
- Possibility to make own menu;
- System of the plugins connected to script with possibility of expansion;
- Possibility of sending the Bot and Hub menu by demand;
- Possible to add any code to run before or after loading plugins at Bot startup (convenient to replace the values of the constants, variables, functions and other components of the Bot without any code changes of the Bot's files);
- Possible to change default commands in the file Commands.lua.
Plugins entering into the distribution kit:
- Uvedomlenie o komandah.CmdSpy - Notices by used commands. This function allows to users, whose class not below settled in function options, to receive from a Bot the notices by commands which entered by users. Function individual at will. There is possible to sets commands which should not be subject to viewing by the informer, in the special list of exceptions. To receive notices it is possible only about commands of those users, which not above you by rank. Also it is possible to disconnect reception of notices;
- Log chata.ChatLog - Logging chat and private messages, connects/disconnects events. Keeps record of messages in the chat and PM with time instructions, nicks and IP-addresses (and the addressee for private messages). Also conducts a log login/logout of users and share. Every days the new file of log is created. Logs of the general chat writes in folder CHATLOG, PM in folder PMLOG, and an login/logout in folder IOLOG in a script folder. It is possible to set the nicks exceptions which will not register in the logs or the obligatory logged nicks. If function of PM essages log is active, to the user at login sends the notice. For reading of logs with necessary contents it is possible to set the reading filter;
- Avtoregistracia i akkaunt.Autoregistration and account - Autoregistration and account management. The Bot has possibility for users to make automatic registration on the Hub. If function of automatic registration is disabled, the inquiry about registration from the user arrives in OpChat for Hub administrations. The password is checked on the maintenance of forbidden symbols and length. The class for registration is defined automatically. Also nas possibility to change own nick (or nick of any registered user) or password without registration removal. Present CAPTCHA function. Possible to set the minimal users share for autoregistration;
- BASIC - The base plugin:
- enable/disable the main chat - Operators can switch off and include again possibility to users write to the general chat;
- creation and removal the text files - It is possible to create and delete text files which are stored in the folder txt;
- nicks checking - This function makes users nicks checking on conformity to rules. Modes from 0 to 7;
- chat only for registered users - This function serves for prohibition to not registered users to use the main chat until they will not be registered;
- private only for registered users - This function serves for prohibition to not registered users to use private messages until they will not be registered;
- download only for registered - This function serves for prohibition to not registered users to use downloading of files (acceptance by a server of search requests and requests to connection);
- main chat CAPTCHA - This function serves for check the chat messages of not registered users on "humanity". At the first attempt to write in chat Bot asks to enter the password which is represented on picture. At right answer the further using a chat is allowed;
- private messages CAPTCHA - This function serves for check the PM messages of not registered users on "humanity". At the first attempt to write in PM Bot asks to enter the password which is represented on picture. At right answer the further using a PM is allowed;
- bad nicks - This function serves for check users nicks on conformity to the templates sets in the list of bad nicks. If the user's nick corresponds to one of available in the list of bad nicks template it cannot enter on the Hub, yet will not change the nick;
- obligatory nicks content - This function serves for check users nicks on presence in them templates of obligatory nicks content (opposite to bad nicks function). If templates are set and in user's nick not found conformity to these templates the user cannot enter on the Hub;
- minimum user's share size for downloading - This function serves for an interdiction of files downloading (search and connection requests) to users, whose share size less than the minimum established;
- block same private messages - Function used to block sending the same PM messages more then specified amount per minute;
- allowed PM recipients per minute amount - The function allows you to set limits on the PM recipients amount per minute from one user.
- Antireklama.AntiAD - Antiadvertising. Messages in the general chat, personal messages, search requests or users descriptions are looked through antiadvertisings function by templates into the advertising list (if is active). When detection in the message of conformity to template from list of advertising if this text does not correspond to templates-exceptions, the text is not passed or the user is banned, depending on antiadvertising mode. Has the function of users descriptions check on advertising. In total modes 4. Possible to load simply text patterns from text files for each type of antiadvertising. Possible set the protected class for patterns;
- Triggery i anticapslok.Triggers and anticapslock - Triggers, Bot-Triggers, PM-Triggers, robots, anticapslock. Triggers react to the text in chat or PM and have wide assortment of reactions. With triggers it is possible to create simple reactions of boat to the text in chat and PM with the answer, to form teams with various functions up to reception and formatting of web-pages from the Internet, files work and many others. Event (text) on which there should be reaction, is set by short patterns. Bot-triggers are similar to triggers, only are adhered to the certain robot. PM-triggers are similar to triggers, only specified on personal (private) messages. Robots represent bots which are visible in the list of users. The created robots can appropriate bot-triggers. It is convenient, when it is necessary to make service which can accept the information in the form of private messages. Anticapslock serves for automatic transformation of symbols to the lowercase register if the user abuses
uppercase letters. Can how simply to warn the user in chat (answers from the reserved trigger with an index 1 are carried out) or simply automatically changes the register;
- Avtozameny.Autoreplaces - Autoreplaces and antiflood. This function serves for automatic replacement of the text in chat by the list of the set templates;
- Konfigurator Menu.MenuConfig - Menu files editor. Menu files of Bot (BotMenu.lua), Hub (HubMenu.lua) or plugins (Menu.lua) possible to configure through dialogue configurator of menu files of this plugin. Dialogue with the user is carried out through PM of Bot;
- Antimat - Antifoul. At finding in the text the words corresponding to antifloor templates, this text area is replaced with one of variants of the answer from table sMatCutter. Antifloor function does not extend on users who are brought in exceptions. ?Present the ban function for excess of the resolved limit floor per setted period;
- Seti.Nets - Nets, subnets rules, prefixes. It is function for IP-address or host check on its presence in the table of networks. The Bot will inform in chat an address accessory to this or that network. Also has function check the IP-address at connected users and access restriction according to the list of networks. Also it is possible to look the list of users whose IP is not in the list of networks. Also has function check of nicks prefixes for conformity to the set prefixes for subnet ranges. If the prefix is found out in the user (in the beginning ???? in square brackets) its IP-address is checked on an accessory to the list of networks and the prefixes set for it. If the given prefix is not supposed for this range (and prefixes for it are set) the user cannot enter. If the user has prefix which is set for any range to which does not belong IP the user the user cannot enter. Has possibility (in the presence of a plugin of additional descriptions) to add the subnet prefix in its
description. Also there is a function of restriction of inquiries about search and connection by networks;
- Shpiony.SpyFinder - Spies searching. Login notices. This plugin serves for the notice of operators at an input on the Hub of the user with the IP-address in advance brought in the special list of spies with the explanatory. Search of users with IP-addresses from the list with the notice of operators on results of search is made;
- Kalkuliator.Calkulator - Calkulator. The plugin is the simple calculator which is able to carry out the basic actions with two numbers or to calculate result of simple expressions;
- Proverka ogranichenia skorosti.CheckSpeedLimit - Check of spees limitation, rules for slots. It is function of checking the users tags on the fact of limitation by them his speed. It is possible to set the minimum admissible speed limitation below which the user will be banned time ban. Also it is possible to check on absence of limitation (if presence of speed limitation is obligatory). It is possible to establish obligatory minimum speed limitation below which the user will be time banned. There are rules for quantity slots presents;
- Typi akkauntov i chistka bazy.AccountsType and cleaning - Accounts types, cleaning registration base. Function of accounts types allows to set static or dynamic type for the account. At registration on the Hub the account with dynamic type is automatically created. If set the account on static at login will be made verification of the registered IP-address with the flowing. If they do not coincide, the user is not passed on the Hub. Thus, users with the static IP-address at desire to exclude login possibility under them anybody from other address, can translate the account on static type. Function of clearing registration base of serves for removal the registered users which did not login to Hub a certain time interval ("accounts-phantoms"). Thus has possibility to set the user unactivity period before removal its account, possibility of addition users in "the not cleared" list. Plugin save the language registered users;
- Obiavleniya.Announcements - Announcements and publications. The system of announcements serves for conclusion of messages from the list of announcements in chat with the setted for each announcement periodicity;
- Dinamicheckie topiki.DynTopics - Dynamic topics. This is dynamic topics system which are deduced in line of window heading of the program-client, being replaced once during the set period;
- Zhaloby.Complaints - Complaints. This plugin serves for automatic bans of infringers of an order on the Hub on which complaints from users arrive. When on the certain user the set quantity of complaints arrives, the user temporarily banned, and his counter of complaints nulled;
- Dopolnitelnye opisaniya.AddDescription - Additional descriptions and labels. This function serves for addition in the beginning of the description of users the additional description which is set or according to class of users, for each class separately, or settled by Operators. If function is active, once per minute will be sending of additional descriptions to users of the Hub is made. Also it is possible to set other description (to replace original) for users;
- Skrytie polzovateli.HiddenUsers - Hidden users. The given function is intended for the concealment nick from the list of users. It is possible concealment and any user at will of the operator. Once per minute users from the list automatically hides;
- Poisk IP.IPFinder - Users searching by IP-address. Function of search users on the Hub with the specified IP-address or template;
- Skazat useru v chat.SayToUser - To tell to the user in chat personally. This function allows to write to the general chat so that your message was visible only to the specified user;
- Komnaty.Rooms - Rooms. Plugin for rooms creation (chats) with different parametres. There is possibility to create personal rooms by users. "The prison" system allows to lock some users in rooms;
- Limit poiska po TTH.TTH search limit - TTH search limitation. Search by TTH restriction on the Hub. Time during which one search inquiry (in minutes is authorised) is established;
- Zapret dvoynikov IP.SingleIPs - Interdiction login of several users with one IP-address. This plugin serves for login interdiction to several users from one IP-address. Also has possibility to check only certain IP-addresses. Present possibility to add users in exceptions. It is possible to disable check if it is necessary to check only certain IP-addresses;
- Obnovlenie i novosti Ekzekutor.News and Updates - Updates check. Receives on demand the information from an official site of the project and shows the current version of script accessible to downloading, updating of plugins and new plugins, news from site;
- Konvertacija profiley.Profiles convertation - Profiles convertation. This plugin serves for transformation of profiles in menu commands according to the set parametres of transformation. Probably to transform at once all files of the menu, applying the parametres of transformation set by the manager (the Bot will ask to enter profiles which should correspond to current profiles after it is transformed), and also to set the resolved profiles for any command separately;
- Rekordy.Hub records - Hub's records base. The plugin serves for fixation and preservation of the data about records on a number of parametres. They are: a maximum of users on the Hub; the maximum average value of users per days; maximum the Hub share; maximum the User share any others. Thus the data about value of record, the data about the user, time and the other data remains. Also has function uploading the data about records in file by template (for example, for WEB);
- Poddelki.FakeList - Known fakes (fakelist). The plugin serves for collecting base of the found out counterfeit files with the counterfeit name (when, for example, the film is called not how actually). Such found out fakes are put into the list and the users swinging such files, warned about it. Also it is possible to check up an interesting magnet (or TTH) on presence in base of fakes. It is possible to notify operators of the Hub on all found fakes through special service. Has possibility to unload the information on fakes in file by template (for example, in HTML file for placing on WEB server);
- Privetstviya.Greetings - Greetings and farewells (messages in chat for all). This plugin serves for conclusion in chat the text of public greeting or farewell when login or logout the user for whom it is setted, or the greeting or farewell for its class is active;
- Pechkin.Postman - Hub's Mail (offline-messages). The plugin is intended for sending of messages (letters) to users which is not present on the Hub. At an login the user will receive the message. Also it is possible to send letters to all users or concrete groups by classes;
- Napominanija.Memories - Reminders: timer and alarm clock. The plugin serves for creation of reminders for any time. It can be as the timer with the set period in minutes, and "alarm clock", with set time in in format hh:mm. After timer time (or the approach of time of an alarm clock) to the user the message with the text which it has set as reminder for this event comes;
- Golosovanija.Votings - Votings. The plugin serves for creation on hub of votings by the set themes with the set variants of answers. Users can vote once for one of them;
- Stavki na kolichestvo polzovateley.Users count stakes - "Users count wager" game. The plugin represents game system of stakes on users quantity on the Hub online during the set moment of time. Reception of rates begins during set time for the set period. At the certain set moment of time are summed up rates and the user (or users) which were closest to right answer, receive points and are considered as winners given draw. Automatic, under the set schedule, but it is possible to prolong this process manually to (restart) reception of rates for the desirable period;
- Igra Soberi slovo.Collect word game - "Collect word" game (Anagrammes). In this game players are offered to make a word of an anagramme with periodic helps. The first correctly answered receives points (depending on quantity of helps and length of word);
- Igra XO.Game XO - "OX" game. In this game players are offered to play tic-tac-toe with the computer or other user;
- Igra Chto-Gde-Kogda.What-Where-When game - "What? Where? When?" game (Quiz). This is game where to players questions with helps are asked by turns. The first correctly answered receives from 3 to 1 point (depending on quantity of helps);
- Igra Morskoy Boy.Game Sea War - "Sea War" (Battleship) game. In this game players are offered to play Battleship with the computer or other user;
- WebInform - Web-services (WebInform) or triggers by timer. This plugin is addition for triggers plugin. Represents service with action by timer (or by schedule) the set line of the trigger. There is a possibility to accept individual subscriptions to reception of the information from users. The plugin is named so, because web services the most suitable function for this plug-in. But as a matter of fact it only performance of a line of the trigger under the schedule or the timer. And actions can be practically any, everything that it is possible to make by means of triggers. Possible to check the text witn floormate plugin (if it active);
- Seti po classam.Nets by classes - Restrictions by classes for subnets (the addition for networks plugin). This plugin serves for any establishment of restrictions on profiles for users, whose IP-addresses belong to ranges from the subnets list of networks plugin. Restrictions can be: connection to the Hub, the general chat, personal messages, inquiries of search and connections (downloading);
- Koljady Dar - Ancient Russian Calendar (not translated);
- Universalnaja Doska.Universal Board - Universal bulletin board. The plugin represents universal configured system of announcements by categories. Categories are adjusted, it is possible to create categories, subcategories and to delete them. There is a possibility to appropriate to those or other categories of moderators from among users. Thus, the plugin scope is wide enough. Besides usual announcements on categories, the plug-in can be applied as a microforum, system of microblogs, announcements of novelties etc. There is possibility to activate an unloading content of bulletin board in files by templates (for example for the publication on web-server). Also has system search of announcements by key parametres and system of automatic removal of out-of-date announcements;
- Ankety.Questionnaires - Questionnaires. Questionnaires store the various information about users. The administration has possibility to place the questionnaire of the user in the black list. Thus the questionnaire will be accessible to viewing only to the author and administration before elimination of the interdiction reasons. Has a search of questionnaires in various parametres and system of ratings. Also has a cleaning of questionnaires base from not registered accounts.
- Universalnyj perevodchik.Universal translator - Universal translation services. Plugin allows create rooms for automatic translation from the language of the userto the language of room, or on the language of each member. The room can be a simple translator from the user's language to the language of the room. It is possible to automatically translate text in chat from user language to the default language and on appeal of other users to it. There is an opportunity to set any selected direction of translation;
- Zapret proxy.Socks5 forbid - Forbid login for users with proxy Socks5. Plugin scans the tags of users and kick users with the type of connection Socks5. Time ban and allowed profiles are configured;
- Zapret TTH v share.Forbidden TTH share content - Search for forbidden files in share of the users by TTH list. Plugin searches for files on the list of TTH and kick users who have these files. Ban-time and search parameters are configured. It is possible to load the list of TTH and save the current database to file. Possible make the kicks log.
- Connect.BlackList - Connections blacklist. Plugin disables the connection to hub with given IP-address or IP-ranges, as if the hub is turned off.
- Zapret zakachek.Download forbiddance - Download forbiddance for any users. Plugin prohibits the filesharing (connect and search requests) for any users by nick or IP-adress.
And other functions...
Plugins probably to disable, set it the necessary priority (turn of processing). Probably to add almost any plugins. It is very simple. Besides plugins work slightly faster, than similar separate scripts as all plugins already obtain the processed data from the plugins core. So it is possible to transfer processing to external services, for example PHP, .NET, etc. How to create the plugins later...