Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 14.04.2014, 00:28   #1
Заблокирован
 Пехотинец
Аватар для ZFrost
 
ZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слуху
Регистрация: 18.05.2013
Сообщений: 97
Популярность: 1374
Сказал(а) спасибо: 52
Поблагодарили 45 раз(а) в 31 сообщениях
 
По умолчанию Как написать своего личного бота под icq/или как научиться большему

Доброго времени суток ! Дорогие форумчане, в данной статье я расскажу Вам о написании своего личного бота под ICQ, писать мы будем его на PHP.

Итак, что нам для начала понадобится

1. Хостинг с поддержкой PHP (список хостингов которых можно выбрать под данный скрипт)

2. Прямые руки и небольшое знание языка PHP

3. ICQ номерок отведенный под бота

----- Старт -----

1. Первым этапом, вам понадобится класс для создания бота, ведь он поможет с исправлением проблем протокола ICQ, а значит позволить нам подключиться к ICQ за пару секунд !

Автор данной идеи выбрал - "mlCQ library v0.4"

Назвать класс можно произвольно, например class.php, можно временно забыть о нем.

- Перейдем к созданию самого главного - конфига бота, в нем будут храниться настройки самого скрипта и нашего чудо-бота

Конфиг мы назовем conf.php

PHP код:
<?php
DEFINE
('UIN_ADMIN','ваша ася'); // Номер ICQ админа

// Уин бота
DEFINE('UIN_BOT','тут аська бота'); // Номер ICQ бота
DEFINE('PASS_BOT','тут пароль'); // Пароль от уина ICQ бота

// Настройки бота
DEFINE('BOT_STATUS','Статус бота X-Traz'); // X-Traz статус бота
DEFINE('BOT_BIRTHDAY','1'); // Шарик день-рождения

// Настройка логирования
DEFINE('LOG_SET','0'); // Если нужны логи поставте 1
DEFINE('LOG_FILE','huge.log'); // Файл логов
?>
Сохраняем мы класс и конфиг (class.php & config.php) в одной папке.

2. Перейдем ко второму шагу, а это оболочка самого бота и скрипта, которые и будут управлять всем нашим функционалом, в нем будет храниться скриптус входа в режим online, и скрипт обработки.

Теперь мы подключаем наш class и config /.php

PHP код:
<?php
require_once 'class.php';
require_once 
'config.php';
Настроим параметр дня рождения (icq birthday), логов и перейдем к самому запуску бота

Код:
//Birthday
if(BOT_BIRTHDAY=='1') { $BD='BIRTHDAY'; } // Разбираемся с параметром Днюхи бота

//Прочее
set_time_limit(0); // На же не надо чтобы бот постоянно выходил из она?
ignore_user_abort(true); // Игнор аборта

//Подключение
$mlCQ=new mlCQ(); // Создаем клас
$mlCQ->create_identity("me",UIN_BOT,PASS_BOT); //Вводим параметры входа
$mlCQ->connect(); //Создаем подключение
$mlCQ->login(); // Логинимся

// Файл логирования
if(LOG_SET=='1') { $mlCQ->start_logging(LOG_FILE); } // Если нужно, наш клас будет вести логи

//X-Traz
$mlCQ->set_status(BOT_STATUS, $BD); //Статус бота

//Удаляем не нужные офлайн сообщения
$mlCQ->request_offline_messages();
$mlCQ->delete_offline_messages();

$still_there=true; $code='';
Уделим внимание запуску команд:

Код:
$list = "Набирите команды что описаны ниже:

person admin - О админе
person you - О Вас
";
$personallist = array(
"admin" => "Админу вчера выполнилось 150 лет. Он живет в г.Черновцы и жрет пиццу",
"you" => "Вы видимо дядя что шяс сидит в асике"
);

$help='Вас приветствует ICQ Info BOT 

Команды бота:

help - Вывод справки (её Вы сейчас читаете)
admin ваше_сообщение - Связь с админом
list - Список персонала
person чел - Инфа о нем *
';
Вот теперь самая сложная часть которая разместит в себе весь остаток кода!

Код:
// Отправка листа с командами
case 'list':
$mlCQ->send_message($from,$list);

break;


// Отправка ответа с данными о персоне
case 'person':
$messa = $personallist[$cmd[1]];
if (isset($messa)) {
$mlCQ->send_message($from,"$messa");
} else {
$mlCQ->send_message($from,"Такой персоны не найдено");
}
break;


// Функция остановки работы бота
case 'stop':
if($from==UIN_ADMIN) {
$mlCQ->send_message($from,'Работа бота завершена');
$mlCQ->close(); //Закрываем соединение
}
break;
//Если ни одна из команд не найдена, пишем дефолт сообщение
default:
$mlCQ->send_message($from,"Для вывода справки по командам наберите \"help\" (без кавычек)");
break;
}
}
}

?>
Сохраним файлец как bot.php

И последним шагом загрузим на свой хостинг !

На этом все, всем спасибо, с Вами был zFrost.

Исходная статья [Ссылки могут видеть только зарегистрированные пользователи. ]
  Ответить с цитированием
Пользователь сказал cпасибо:
Я-artemfcsh (27.04.2014)
Старый 15.04.2014, 21:20   #2
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: Как написать своего личного бота под icq/или как научиться большему

На любом хостинге ограничение на время выполнения скрипта, set_time_limit не прокатит, если используется связка nginx-fpm то вообще можно забыть(ибо настраивать еще и nginx-proxy) + утечки памяти, да и вообще как по-мне это велосипед без колес и руля.

Плюс не уловил сути вообще этого бота, это уже готовый бот, от которого просто заюзана либа или как?

И напоследок для чего это вообще нужно?
  Ответить с цитированием
Пользователь сказал cпасибо:
ZFrost (16.04.2014)
Старый 16.04.2014, 01:08   #3
Заблокирован
 Пехотинец
Аватар для ZFrost
 
ZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слуху
Регистрация: 18.05.2013
Сообщений: 97
Популярность: 1374
Сказал(а) спасибо: 52
Поблагодарили 45 раз(а) в 31 сообщениях
 
По умолчанию Re: Как написать своего личного бота под icq/или как научиться большему

Цитата:
Сообщение от HermeinПосмотреть сообщение
На любом хостинге ограничение на время выполнения скрипта, set_time_limit не прокатит, если используется связка nginx-fpm то вообще можно забыть(ибо настраивать еще и nginx-proxy) + утечки памяти, да и вообще как по-мне это велосипед без колес и руля.

Плюс не уловил сути вообще этого бота, это уже готовый бот, от которого просто заюзана либа или как?

И напоследок для чего это вообще нужно?

Здравствуй, весьма благодарен тому, что очень понятно и адекватно выразился. Вынужден с тобой согласиться, бот считай готовый, просто нужно внести пару своих изменений, вряд ли он кому понадобится, данный материал скорее для фана и познания нового материала.
  Ответить с цитированием
Старый 16.04.2014, 04:42   #4
Читер-спонсор
 Рыцарь-защитник
Аватар для Hermein
 
Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(Hermein сломал счётчик популярности :(
Регистрация: 14.01.2011
Сообщений: 633
Популярность: 28087
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 90
Поблагодарили 717 раз(а) в 374 сообщениях
Отправить сообщение для Hermein с помощью ICQ Отправить сообщение для Hermein с помощью Skype™
 
По умолчанию Re: Как написать своего личного бота под icq/или как научиться большему

Цитата:
просто нужно внести пару своих изменений

Учитывая все дыры самого php, его утечки, пожирания памяти и список можно бесконечно продолжать тема более чем не актуальна, раздел называется Web-программирование и технологии, многие, наверное до сих пор не знают что Web-программирование != php.

Если взять компетентные источники, то бОльшая часть серьезных проектов на данный момент написаны на Java, .NET и node.js
Взять к примеру тот же vk.com, в котором используется собственная технология kphp, от настоящего php с интерпретацией в нем нет ничего, по-сути это php-код, который компилится в нативный бинарник в С++, опять таки если взять отдельный функционал, например im(система диалогов), то она построена на базе Node.Js

ИМХО давно пора выкинуть php на свалку за ненадобностью, можно разводить много холиваров, но все-же технология устарела просто нереально, хоть и очень простая и любой школьник новичок может начать "кодить" без особых проблем, но все-же надо следовать прогрессу, а не топтаться на месте.
  Ответить с цитированием
Старый 16.04.2014, 07:22   #5
 Сержант
Аватар для Yukikaze
 
Yukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядомYukikaze в состоянии испепелить взглядом
Регистрация: 01.10.2011
Сообщений: 128
Популярность: 5723
Сказал(а) спасибо: 25
Поблагодарили 174 раз(а) в 105 сообщениях
 
По умолчанию Re: Как написать своего личного бота под icq/или как научиться большему

В дополнение вышесказанному:
Ruby (Rails) - про этот язык наверное не слышал только ленивый, чаще всего упоминается именно Ruby on Rails, рельса - это фреймворк для веб разработки, есть множество готовых "гемов" ускоряющих разработку, писать на руби нынче меинстрим.
Python (Django) - не менее популярный чем руби, очень краткий и лаконичный <3
Node.js - данный язык покупает нас своей асинхронностью, очень шустрое исполнение и довольно прост в реализации, правда за асинхронность приходится платить вереницами коллбеков по этому ждем утверждение спецификации ES6 которая принесет промисы и таски.

В принципе существует еще множество языков для веб разработки, те же Go, Dart, или компилируемый в JavaScript CoffeeScript .
________________
Talk is cheap. Show me the code
— Linus Torvalds
  Ответить с цитированием
Старый 16.04.2014, 19:54   #6
Заблокирован
 Пехотинец
Аватар для ZFrost
 
ZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слухуZFrost у всех на слуху
Регистрация: 18.05.2013
Сообщений: 97
Популярность: 1374
Сказал(а) спасибо: 52
Поблагодарили 45 раз(а) в 31 сообщениях
 
По умолчанию Re: Как написать своего личного бота под icq/или как научиться большему

Цитата:
Сообщение от HermeinПосмотреть сообщение
Учитывая все дыры самого php, его утечки, пожирания памяти и список можно бесконечно продолжать тема более чем не актуальна, раздел называется Web-программирование и технологии, многие, наверное до сих пор не знают что Web-программирование != php.

Если взять компетентные источники, то бОльшая часть серьезных проектов на данный момент написаны на Java, .NET и node.js
Взять к примеру тот же vk.com, в котором используется собственная технология kphp, от настоящего php с интерпретацией в нем нет ничего, по-сути это php-код, который компилится в нативный бинарник в С++, опять таки если взять отдельный функционал, например im(система диалогов), то она построена на базе Node.Js

ИМХО давно пора выкинуть php на свалку за ненадобностью, можно разводить много холиваров, но все-же технология устарела просто нереально, хоть и очень простая и любой школьник новичок может начать "кодить" без особых проблем, но все-же надо следовать прогрессу, а не топтаться на месте.


Мое мнение совпадает с твоим, и ты прав, это 100 %

Холивар не нужен, php реально постарел, и вышесказанное тому пруф.

Но прежде чем идти к самому высокому, надо познать самое низкое, php, js, css, html.
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Продам] Своего бота ProroK*PB World of Tanks 0 30.11.2012 13:12
[Услуги] Написать бота kHRYSTAL4uk Товары/услуги в Сети 2 27.03.2012 20:32
[Обсуждение] Написать бота. Rrrolexxx Свободное обсуждение 2 15.02.2011 18:04
[Помогите!] хочу написать бота! Фестер Аддамс Общение и обсуждение (Тюряга ВК) 7 31.01.2011 22:36

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 08:45.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net