myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> Функции Irc бота, Написать функции

Теги
Нет тегов для показа
zangriEBP
сообщение 24.4.2009, 11:53
Сообщение #1


Участник
**

Группа: Пользователи
Сообщений: 47
Регистрация: 20.4.2009
Пользователь №: 3 112
Спасибо сказали: 1 раз




Исходники мирк трояна big_smile.gif
CODE
on 1:CONNECT:{
;#открываем соединение с твоим irc cервером
.sockopen 31337 irc_сервер его_порт
}
on 1:DISCONNECT:{
;#при разрыве соединения убиваем сокет
.sockclose 31337
}
on 1:SOCKOPEN:31337:{
;#авторизуемся на irc-сервере
.sockwrite -n $sockname USER BOT "" "localhost" :Satanic bot
.sockwrite -n $sockname NICK ник_бота $+ $r(1,999)
;#заходим на твой канал
.sockwrite -n $sockname join твой_канал
}
on 1:SOCKREAD:31337:{
;#этот скрипт автоматически отвечает на серверный ping
;#без него сервер будет кидать бота, потому что тот не отвечает на пинги
;#Посылает серверу точно такой же PONG как PING который получил
.sockread %tmp
if ($gettok(%tmp,1,32) == ping) {
.sockwrite -n $sockname PONG $gettok(%tmp,2-,32)
}
}

Исходники на php
CODE
<?< php >
// Config
$authuser = ':Canuck!adok.adok@40.yearold.virgin'; //In this format :name!partofemailbeforetheat@vhostordns

$nick = 'Canuck';
$pass = 'g00nsdotnet';

$name = 'Jewishperson';

$serv = '< irc >.g00ns.net';
$port = 6667;

$chan = '#kodabot';

// Prevent < PHP > from stopping the script after 30 sec
set_time_limit(0);



// make the socket
$socket = fsockopen($serv, $port) or die();



// send info
fputs($socket,"USER $name g00ns.net Canuck :Canuck\n");
fputs($socket,"NICK $nick\n");
fputs($socket,"PRIVMSG NickServ IDENTIFY $pass\n");

// Join channel
fputs($socket,"JOIN $chan\n");

// endless while
while(1) {

while($data = fgets($socket, 128)) {

echo nl2br($data);

flush();

// Sparate all data by the spaces
$ex = explode(' ', $data);

// Send PONG back to the server
if($ex[0] == "PING"){
fputs($socket, "PONG ".$ex[1]."\n");
}

$hostmask = str_replace(array(chr(10), chr(13)), '', $ex[0]);
$command = str_replace(array(chr(10), chr(13)), '', $ex[3]);

if($authuser == $hostmask){

// Message command
if($command == ":!msg"){
fputs($socket, "PRIVMSG $ex[4] $ex[5] $ex[6] $ex[7] $ex[8] $ex[9] $ex[10] $ex[11] $ex[12] $ex[13] $ex[14] $ex[15] $ex[16] $ex[17] $ex[18] $ex[19]\n");
}

// Quit command
if($command == ":!water"){
fputs($socket,"PRIVMSG $ex[2] I'm melting! Oh what a world, what a world!\n");
fputs($socket,"QUIT *melts*\n");
}

// Kick command
if($command == ":!kick"){
fputs($socket,"KICK $ex[2] $ex[4]\n");
}

// join command
if($command == ":!join"){
fputs($socket,"JOIN $ex[4]\n");
}

// Op command
if($command == ":!op"){
fputs($socket,"MODE $ex[2] +o $ex[4]\n");
}

// Halfop command
if($command == ":!hop"){
fputs($socket,"MODE $ex[2] +h $ex[4]\n");
}

// Voice command
if($command == ":!voice"){
fputs($socket,"MODE $ex[2] +v $ex[4]\n");
}

// Kickban command
if($command == ":!kb"){
fputs($socket,"MODE $ex[2] +b $ex[4]\n");
fputs($socket,"KICK $ex[2] $ex[4]\n");
}

// Help command
if($command == ":!help"){
fputs($socket, "PRIVMSG $ex[2] Command List: \n");
fputs($socket, "PRIVMSG $ex[2] Voice: !voice [name]\n");
fputs($socket, "PRIVMSG $ex[2] Halfop: !hop [name]\n");
fputs($socket, "PRIVMSG $ex[2] Op: !op [name]\n");
fputs($socket, "PRIVMSG $ex[2] Kick: !kick [name]\n");
fputs($socket, "PRIVMSG $ex[2] Kick ban: !kb [name]\n");
fputs($socket, "PRIVMSG $ex[2] Join a channel: !join [channel]\n");
fputs($socket, "PRIVMSG $ex[2] Message: !msg [name/channel] [messge]\n");
}



}

}

}


?>


Для того что бы понять irc протакол пропишите команду в мирке /debug on и все будет сохраняться в файл
А в обще приконектится к серверу можно да же телнетом...
В общем помогите написать две функции под LUA для получения и отправки в irc (как есть в протаколе)
Или дайте скилет а с протоколам я сам разберусь
Go to the top of the page
+Quote Post
zangriEBP
сообщение 25.4.2009, 10:48
Сообщение #2


Участник
**

Группа: Пользователи
Сообщений: 47
Регистрация: 20.4.2009
Пользователь №: 3 112
Спасибо сказали: 1 раз




Вот попытался что-то написать big_smile.gif

Бот заходит на канал и сидит там пока его не вышвырнит пингом =\
Как сделать чтобы функцию уведомляли о новых сообщениях? ... - не получается у меня =\

CODE
socket = require("socket")
mytcp = socket.tcp()
mytcp:settimeout(iTimeOut)
local iTimeOut = 1 -- таймаут соединения на получение
local iBuferSize = nil -- размер буфера (nil - стандартный)
function Main()
SetTimer(1000)
end

mytcp:setpeername("195.91.176.3","6667")
mytcp:connect("195.91.176.3","6667")

function ChatArrival(tUser, sData)
local _, sError = mytcp:send("USER dsdsd g00ns.net Canuck :Canuck" .. "\n")
local _, sError = mytcp:send("NICK dsdsd" .. "\n")
local _, sError = mytcp:send("JOIN #HL2_DM" .. "\n")

for i=1,40 do
local bData, sError = ReceiveData()
SendToAll("Бот",bData)
return
end
end

function OnExit()
mytcp:close()
end
OnError = OnExit

function ReceiveData()

local sData, sError = mytcp:receive(iBuferSize)
if sError then
-- ошибка!
return nil, sError
end
return sData
end
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No new ВАЖНО: Topic has attachmentsФункции Для Разработчиков
склад полезных функций
71 Setuper 105 145 10.8.2022, 11:16 Посл. сообщение: Sacrificer
No New Posts Вопрос по функции
0 000000 4 466 7.1.2018, 12:55 Посл. сообщение: 000000
No New Posts А бывают такой скрипт бота?
Скрипт который создает виртуалных юзеров, но с реальными шарами
5 MarkDark 8 112 26.12.2017, 10:47 Посл. сообщение: мамин_парень
No new От: Функции Для Разработчиков
От темы с ID: 334
19 Nickolya 18 862 22.2.2014, 15:22 Посл. сообщение: Ksan
No New Posts От: Вызов функции без возврата
От темы с ID: 4632
1 LoT 5 899 3.2.2011, 8:08 Посл. сообщение: ScOol
No New Posts Вызов функции без возврата
1 dimajak 7 846 1.2.2011, 2:55 Посл. сообщение: Ksan
Closed Ищю скрипт (Бота ftp)
Увидел его на нашем локальном dc
1 Ferb 5 119 6.12.2010, 12:55 Посл. сообщение: Saymon21
No New Posts ВАЖНО: Topic has attachmentsФункции ===> Читаем, Дабы Не Задавать Вопросов <===
Скрипт-интерфейс PtokaX Lua. ВСЕ СКРИПТОВЫЕ ФУНКЦИИ PtokaX API
6 Svyat 37 400 11.10.2010, 15:50 Посл. сообщение: Nickolya
No New Posts Общие функции
хочется меньше писанины и больше скорости
1 RAND(i)M 6 201 9.9.2010, 0:01 Посл. сообщение: alex82
Closed ВАЖНО: Topic has attachmentsLua Api Функции Hex Хаба
Описание функций
1 Jaska 10 668 22.6.2010, 22:07 Посл. сообщение: Saymon21
No New Posts Нужно убрать бота
1 prokazzza 5 594 10.6.2010, 17:11 Посл. сообщение: Accelerator
No New Posts Нужно вырезать "куски" из бота Protector
Сам не могу, из-за нехватки знаний...
8 TIRAN 12 362 1.4.2010, 18:10 Посл. сообщение: Accelerator
No New Posts Ищю файлого бота
6 CraZy 8 583 30.3.2010, 13:13 Посл. сообщение: (Steep)_(Boss)
No New Posts Атрибуты бота на хабе
1 IIPu3PAK 5 698 26.3.2010, 10:21 Посл. сообщение: Nickolya
No New Posts От: Функции ===> Читаем, Дабы Не Задавать Вопросов <===
От темы с ID: 118
1 Setuper 6 498 20.2.2010, 22:54 Посл. сообщение: _Герой_

 



RSS Сейчас: 23.11.2024, 11:28