Всем привет, с другом вели разработку своего бота на [Ссылки могут видеть только зарегистрированные пользователи. ] для murclub.ru
Создали такую платформу, на которой легко реализовать любого бота.
На его основе можно заняться разработкой совсем не связанный с чатом приложением.
В частности, данный бот подстроен под платформу IRC чата.
Присутствует:
+Развлекает комнаты играми в Мафию, Викторину, Слова.
+Рассылает сообщения всему чату, по команде.
+Управление с чата или локальной админской консоли.
+Очень много плюсов, если хотите изучить Action Script 3 начиная с малого, я думаю этот проект вам поможет.
+Все расписано, все распихано по классам, по максимуму аккуратно.
Вот скриншот скомпилированой версии
[Ссылки могут видеть только зарегистрированные пользователи. ]
Для запуска потребуется: [Ссылки могут видеть только зарегистрированные пользователи. ] - Найти можно на официальном сайте. Flex SDK - Обычно есть в инсталяторах, не пропустите в установке. JAVA - Найти можно свободно, в интернете.
В папке с исходным кодом, есть файл PackageApp.bat
Запускаем его от имени администратора, в появившемся окне ставим 2
И ждем пока Скомпилируется. После компиляции в этой папке появится папка MurClubBot_standalone. В ней можно запустить MurClubBot.exe и радоваться своему скомпилированному боту.
[Ссылки могут видеть только зарегистрированные пользователи. ]
1)Установить FlashDevelop-4.3.0-RTM - возможны проблемы с установкой (Windows 10).
[Ссылки могут видеть только зарегистрированные пользователи. ]
2)Скачать [Ссылки могут видеть только зарегистрированные пользователи. ] и распаковать в удобную директорию - увидим такое содержимое.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Запуск и правка исходного кода.
Запуск проэкта без компилятора.
Упаковка приложения в exe
Запускаем MurClubBot.as3proj
[Ссылки могут видеть только зарегистрированные пользователи. ]
Дважды кликаем на Main
[Ссылки могут видеть только зарегистрированные пользователи. ]
И компилируем. ( 1 значит первым 2 значит вторым )
[Ссылки могут видеть только зарегистрированные пользователи. ]
src > commands > Command.as - специальный класс, для вывода ответа либо в ЛС, либо в приват. ( Является примером, который не задействован в первой версии ).
src > commands > LongCommand.as - Пример как использовать этот класс со взаимодействием с Command.as
src > common > ArrayUtils.as - Специальные утилы, которые разбирают некоторые функции в чате.
src > common > GifUploader.as - Загрузчик GIF анимаций в анкету(Бота).
src > common > MafiaPhrases.as и MafiaPlayer.as - Специальные классы для игры в Мафию!
src > common > NudeDetector.as - Незаконченный класс, фильтрует чат от порнографических фото.
src > common > StringUtils.as - Работа со стрингами.(Строками)
src > common > WordChecker.as - Класс для работы с игрой в Слова.
src > controllers > ChatBot.as - Тестовая версия чат-бота, который раньше мог общаться.(Сейчас вроде сам сайт накрылся).
src > controllers > Custom.as - Сделан специально, для разработки в фри доступе, что-бы каждый мог попробывать сделать свою команду, функцию и прочее.
src > controllers > Login.as - Авторизация в чате мурклуб и передача сокетов в Server.as(Но об этом потом)
src > controllers > Mafia.as - Настройка мафии, таймауты, и прочие мелочи.
src > controllers > Moderator.as - Этот класс для ботов которые заместители и т.д. Позволяют банить, кикать, разбанивать и прочее.
src > controllers > Quiz.as - Игра в викторину, настройки и прочее.
src > controllers > Remote.as - Этот класс отвечает за управление ботом вне консоли, т.е из тела чата, посредствам команд через слеш "/".
src > controllers > Room.as - Настройки текущих комнат, информация о пользователях в комнате, сортировка мужских и женских персонажей.
src > controllers > RoomFilter.as - Комнатные фильтры, то есть: Реклама, стрельба, ограничение по возрасту, рейтингу, и прочим критериям.
src > controllers > UserCommands.as - Пользовательские команды, которые доступны группе USERS I, они вводятся через воскл. знак "!". Их основное назначение на развлечение людей в комнатке.
src > controllers > Voter.as - Фановый класс, для запуска голосовалки в чатике ;з
src > controllers > Words.as - Игра, конфиг, слова.
src > controllers > You.as - Это админские команды через слеш "/". Которые будут доступны только тем, кому вы разрешите.
src > elements > Console.as - Этот элемент, это форма, которая запущена. Консоль бота.
src > elements > Server.as - Этот класс, это получалка данных ил Login.as и передача их в Server.as для авторизации через сокеты в IRC
Остальные классы, в принципе, вам знать не нужно.
А кому интересно, тот спросит =з
Открываем исходник, заходим в Remote.as
[Ссылки могут видеть только зарегистрированные пользователи. ]
Видим это.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Код:
public static var allowedUsers:Array = [
"m1830204",
"m1001",
"m341976",
];
Заменяем m1830204 и m1001 на свой айди. ("m" ОБЪЯЗАТЕЛЬНО!)
После чего нажимаем [Ссылки могут видеть только зарегистрированные пользователи. ]
и ждем пока обновится.
Как обновится увидим такое.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Значит готово. Осталось только скомпилировать, как компилировать я уже показал в этой теме, читай внимательно!
Открываем проект, заходим открываем MassiveS.as
[Ссылки могут видеть только зарегистрированные пользователи. ]
И видим там
Код:
static public var AcceptedUsers:Array = [ "m5129563", "m1255015", "m1001", "m1830204" ];
Заменяем айдишники на те, которые надо.
Применяем нажав [Ссылки могут видеть только зарегистрированные пользователи. ]
И компилируем! Если не знаешь как компилировать то почитай всю тему. Я всё расписал =)
+Добавлено много новых функций.
+Добавлено логирование действий и админов.
+Добавлено умная фильтрация по айпи.(IPFilter: Хранится во флеше).
+Добавлено куча фильтров и мелкие патчи.
+Исправлено в игре мафия, если игрока выгнать из комнаты, он будет продолжать играть.(Теперь он автоматически снимается со списка играющих).
+Починены команды типа /shoot /unshoot (Пример: /shoot ID 20) - стреляет 20 раз.
+Добавлена умная обробатывалка команд. Из лс или из пуб. чата =з
+Все баны по айпи(идентификатору) хранятся во флешке.(Не удаляются).
/youlose - если на боте достаточно патронов, то он совершает мгновенно выстрелы во всех мужских персонажей! В классе You.as - есть функция onKillAll(), в которой хранится массив ARGS с айдишниками исключениями.(В кого бот стрелять не будет).
[Ссылки могут видеть только зарегистрированные пользователи. ]
Демонстрация команды /youlose
Команда /shoot
/liker - Ставит лайки на фото.. Указывается формат фотки id_photoid последней фотки в альбоме. Пример: /liker 1001_32015687 /jail - Если у бота достаточно кристаллов на счете, то он выйдет и тюрьмы. /setQuestion - Веселая команда, при включеной викторине можно задать свой вопрос. Пример: /setQuestion reraider Кто автор данной статьи? [ответ вопрос]
Если кому-то нужен скрипт present.php, который раздавал в чате подарки с определенного счета, пишите в ЛС.
[Ссылки могут видеть только зарегистрированные пользователи. ]
Продолжение следует, в скором времени выложу более продвинутую версию бота. Так-же дополнения для основной версии. =з
Исходник выложен в паблик, потому-что была украдена скомпилированная версия программы, теперь всё бесплатно, для народа!
[Ссылки могут видеть только зарегистрированные пользователи. ] (V 1.0 - Это дефолтная версия, в которой всё строго, красиво, умно, без ненужных дополнений и прочего).
Скачать исходный код с [Ссылки могут видеть только зарегистрированные пользователи. ] - Модифицированная версия бота, очень проста в использовании, так-же в написании.
Если есть вопрос? задай, я помогу тебе с разработкой своего уникального бота.
reraider && rzer && Fieign
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось reraider; 08.12.2015 в 03:45.
Причина: Добавлена версия 2.1
Re: MurclubBot - Бот для популярного проекта murclub.
[Ссылки могут видеть только зарегистрированные пользователи. ]
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: MurclubBot - Бот для популярного проекта murclub.
Цитата:
Сообщение от skan444
А есть рабочий брут/чекер на мурку?
Пока что нету, но можно организовать. Только однопоточный =)
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: MurclubBot - Бот для популярного проекта murclub.
Цитата:
Сообщение от skan444
Было бы шикарно :з
Замётано, жди, скоро выложу!
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось reraider; 10.12.2015 в 23:48.
Re: MurclubBot - Бот для популярного проекта murclub.
Цитата:
Сообщение от qetuoadgjlzcb
братишка, какафонька твой бот чесслово. Может и пашет, но он нафиг не нужен. ОДИН бот, который собирает з/п переваливает всю твою работу
Хм, дружище. Зря ты так думаешь. Мне за него по 7к предлагали, за один исходник =)
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Re: MurclubBot - Бот для популярного проекта murclub.
Цитата:
Сообщение от muclub1
Ещё бы файлы выложили, которые не выложили. Те что через сайт работают В скринах видны ссылки на те файлы, что через сайт работают
Боюсь, я сюда ничего не выложу, пока вас не забанят за множественные нарушения на форуме.
Добавлено через 1 час 15 минут
Файл [Ссылки могут видеть только зарегистрированные пользователи. ] который дарит подарки. (Специально для вас с коментариями)
http://yousite/present.php?login=[Ссылки могут видеть только зарегистрированные пользователи. ]&pass=murc1&id=1001&giftid=1488&color1=24&color2=24&days=101
param:
Емейл в чате. MAIL
Пароль PASSWORD
Айди пользователя кому дарим подарок USERID
Айди подарка GIFTID
Цвет 2 COLOR 1
Цвет 1 COLOR2
Дни DAYS
Добавлено через 1 час 34 минуты
Авторизация в чате через PHP скрипт. [Ссылки могут видеть только зарегистрированные пользователи. ]
<?php
class User
{
private $ch;
private $headers;
private $body;
private $useragent;
private $referer;
private $userinfo;
public $mursid;
public function curlInit($url,$postdata,$cookie,$useragent,$referer,$proxy)
{
if ($useragent) $this->useragent=$useragent;
if ($referer) $this->referer=$referer;
$this->ch = curl_init($url);
curl_setopt($this->ch, CURLOPT_USERAGENT, $this->useragent);
if($cookie){
curl_setopt($this->ch, CURLOPT_COOKIE, $cookie);
}
curl_setopt($this->ch, CURLOPT_REFERER, $this->referer);
if($postdata){
curl_setopt($this->ch, CURLOPT_POST, 1);
curl_setopt($this->ch, CURLOPT_POSTFIELDS, $postdata);
}
curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($this->ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->ch, CURLOPT_VERBOSE, 1);
curl_setopt($this->ch, CURLOPT_HEADER, 1);
if($proxy){
curl_setopt($ch, CURLOPT_PROXY, "$proxy");
}
$res = curl_exec($this->ch);
$httpcode = curl_getinfo($this->ch, CURLINFO_HTTP_CODE);
$header_size = curl_getinfo($this->ch, CURLINFO_HEADER_SIZE);
curl_close($this->ch);
$this->headers = substr($res, 0, $header_size);
$this->body = substr($res, $header_size);
return $httpcode;
}
public function getBody()
{
return $this->body;
}
public function getHeaders()
{
return $this->headers;
}
public function setUserInfo()
{
$this->userinfo= $this->getBody();
}
public function getUserInfo()
{
return $this->userinfo;
}
public function login($login,$pass,$useragent,$referer,$proxy)
{
$httpcode = $this->curlInit("murclub.ru",false,false,$useragent,$referer,$proxy);
if($httpcode!="200"){echo "ERROR: http code :".$httpcode; return false;}
$csrf = getParam("csrf' type='hidden' value='","==",$this->getBody());
$this->curlInit("login.murclub.ru","login=".$login."&password=".$pass."&hop=&csrf=".$csrf."==",false,$useragent,$referer,$proxy);
$errlogin = strrpos ( $this->getHeaders(), "?errlogin" );
if ($errlogin && $errlogin>=0){echo "ERROR: errlogin"; return false;}
$mursid = getParam("mursid=",";",$this->getHeaders());
$this->mursid=$mursid;
$this->curlInit("murclub.ru/xmls/xml_proxy.php","query=USERINFO","mursid=".$mursid.";",$useragent,$referer,$proxy);
$this->setUserInfo();
$this->curlInit("murclub.ru/chat.php",false,"mursid=".$mursid.";",$useragent,$referer,$proxy);
return $this;
}
}
function getParam($param1,$param2,$body){
$x=explode($param1,$body);
$x=explode($param2,$x[1]);
return $x[0];
}
if (isset($_REQUEST['login']) && isset($_REQUEST['pass'])){
getUserData($_REQUEST['login'], $_REQUEST['pass']);
}
function getUserData($login,$pass){
$useragent="Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:15.0) Gecko/20100101 Firefox/15.0 (.NET CLR 3.5.30729)";
$referer="http://murclub.ru/";
$curl1 = new User;
$user = $curl1->login($login,$pass,$useragent,$referer,false);
if ($user){
$token=getParam("<authtoken>","_",$user->getUserInfo());
$token=$token."_".getParam("csrf=","&ver=3",$user->getBody());
$userid=getParam("<userid>","</userid>",$user->getUserInfo());
echo $token . ":m" . $userid;
}
}
?>
за Login.php - Спасибо человеку с никомGAD.
В кратце: Авторизация в чате происходит из HTML морды в IRC из IRC в FLASH.
Скрипт получает нужные данные для авторизации в IRC. Т.е ID, PASSWORD. И можно открывать Socket Controller
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось reraider; 25.07.2016 в 23:57.
Причина: Добавлено сообщение
Re: MurclubBot - Бот для популярного проекта murclub.
Да, конечно)
Но есть ли смысл, когда есть сайт по автоматическому сбору зарплаты..
Remote.as находится в папке src\controllers\Remote.as
________________
Палки палки палочки Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Последний раз редактировалось reraider; 01.08.2016 в 23:16.
Причина: Добавлено сообщение