Как да се коннекнеме към ирк със сокетс?
1во трявба да сложиме алиас:
които алиас има различни команди
например
Вече сме отворили сокета: socket - името на сокета
После при отварянето на сокета трябва да сложиме команди:
След това трябва да четеме от сокета
когато при
тогава сервера проверява дали има отговор от клиента
тои казва PING клиента требва да каже PONG
и вече се конектва към ирк сервера.
Целия код:
надявам се на некои да съм му помогнал с този сниппет
:?:
1во трявба да сложиме алиас:
Код:
alias irc {
if ($1 == connect) {
window -ea @irc
if ($2) {
sockopen socket $2 6667
}
else { aline @irc Error: /irc connect [servername] | return }
}
if ($1 == quit) {
sockwrite -nt socket QUIT
aline @irc Quiting..
}
if ($1 == join) {
sockwrite -nt socket JOIN : $+ $2
}
if ($1 == part) {
sockwrite -nt socket PART : $+ $2
}
if ($1 == msg) {
sockwrite -nt socket PRIVMSG $2 : $+ $3-
}
if ($1 == nick) {
sockwrite -nt socket NICK : $+ $2
}
if ($1 == mode) {
sockwrite -nt socket MODE $2 : $+ $3-
}
}
например
Код:
/irc connect servername - името на сервера
/irc quit - излизате от мирк
/irc join #канала - влизате в определен канал
/irc part #kanala - излизате от определен канал
/irc msg - праштате съобщение
/irc nick - сменяте си ника нормалния е: Socket-Bot
/irc mode - слагате моде на канала или усер
После при отварянето на сокета трябва да сложиме команди:
Код:
on *:sockopen:socket: {
sockwrite -nt socket NICK Socket-Bot
sockwrite -nt socket USER Socket-Bot Socket-Bot Socket-Bot :Socket-Bot
}
Код:
on *:sockread:socket: {
sockread %temp
if ($gettok(%temp,1,32) == PING) { sockwrite -n socket PONG $remove($gettok(%temp,2,32),:) }
aline @irc %temp
unset %temp
}
Код:
if ($gettok(%temp,1,32) == PING) { sockwrite -n socket PONG $remove($gettok(%temp,2,32),:) }
тои казва PING клиента требва да каже PONG
и вече се конектва към ирк сервера.
Целия код:
Код:
alias irc {
if ($1 == connect) {
window -ea @irc
if ($2) {
sockopen socket $2 6667
}
else { aline @irc Error: /irc connect [servername] | return }
}
if ($1 == quit) {
sockwrite -nt socket QUIT
aline @irc Quiting..
}
if ($1 == join) {
sockwrite -nt socket JOIN : $+ $2
}
if ($1 == part) {
sockwrite -nt socket PART : $+ $2
}
if ($1 == msg) {
sockwrite -nt socket PRIVMSG $2 : $+ $3-
}
if ($1 == nick) {
sockwrite -nt socket NICK : $+ $2
}
if ($1 == mode) {
sockwrite -nt socket MODE $2 : $+ $3-
}
}
on *:sockopen:socket: {
sockwrite -nt socket NICK Socket-Bot
sockwrite -nt socket USER Socket-Bot Socket-Bot Socket-Bot :Socket-Bot
}
on *:sockread:socket: {
sockread %temp
if ($gettok(%temp,1,32) == PING) { sockwrite -n socket PONG $remove($gettok(%temp,2,32),:) }
aline @irc %temp
unset %temp
}
надявам се на некои да съм му помогнал с този сниппет
:?: