Jump to content
PassaMan

[Python] Cum sa faci un bot de IRC simplu.

Recommended Posts

Posted (edited)

Prima data trebuie sa instalati Python pe care il descarcati de aici.

Faceti un fisier bot.py sau ce nume vreti voi si copiati toate liniile pe care le-am scris mai jos. Iar dupa trebuie sa configurati variabilele HOST,PORT(daca este nevoie),NICK,IDENT

,REALNAME,CHAN salvati si rulati bot.py cu dublu-click.

#!/usr/bin/env python

Dupa vin Importurile


import sys
import socket
import string

Variabile , de exemplu HOST , aici treceti ip-ul serverului la care vreti ca bot-ul sa se conecteze.

HOST=”irc.server”

Portul, care default este 6667.

PORT=6667

Nick-ul bot-ului.

NICK=”KraneBot”

Aici tot Nick-ul vine.

IDENT=”KraneBot”

Si aici la fel...

REALNAME=”KraneBot”

Acum urmeaza sa puneti numele canalului pe care vreti ca bot-ul sa se conecteze.

CHAN=”#channel”

Acum vine un buffer, pe care nu il modificati.

readbuffer=”"

Bun, toate variabilele au fost definite mai sus, acum sa trecem la restul codului.

s=socket.socket( )
s.connect((HOST, PORT))
s.send(”NICK %s\r\n” % NICK)
s.send(”USER %s %s bla :%s\r\n” % (IDENT, HOST, REALNAME))
s.send(”JOIN :%s\r\n” % CHAN)

Aici vine partea in care setezi ce mesaje vrei sa scrie bot-ul pe canal.

s.send(”PRIVMSG %s :%s\r\n” % (CHAN, “Hello There!”))
s.send(”PRIVMSG %s :%s\r\n” % (CHAN, “I am a bot”))

Iar aici este partea cu PING si PONG.

while 1:
readbuffer=readbuffer+s.recv(1024)
temp=string.split(readbuffer, “\n”)
readbuffer=temp.pop( )

for line in temp:
line=string.rstrip(line)
line=string.split(line)

if(line[0]==”PING”):
s.send(”PONG %s\r\n” % line[1])

Cam asta este tutorialul, mai jos o sa va pun tot codul facut.

#!/usr/bin/env python

import sys
import socket
import string

HOST="irc.server"
PORT=6667
NICK="KraneBot"
IDENT="KraneBot"
REALNAME="KraneBot"
CHAN="#channel"
readbuffer=""

s=socket.socket( )
s.connect((HOST, PORT))
s.send("NICK %s\r\n" % NICK)
s.send("USER %s %s bla :%s\r\n" % (IDENT, HOST, REALNAME))
s.send("JOIN :%s\r\n" % CHAN)
s.send("PRIVMSG %s :%s\r\n" % (CHAN, "Hello There!"))
s.send("PRIVMSG %s :%s\r\n" % (CHAN, "I am a bot"))

while 1:
readbuffer=readbuffer+s.recv(1024)
temp=string.split(readbuffer, "\n")
readbuffer=temp.pop( )

for line in temp:
line=string.rstrip(line)
line=string.split(line)

if(line[0]=="PING"):
s.send("PONG %s\r\n" % line[1])

Eu am gasit acest tutorial aici doar l-am rescris aici.E posibil sa intelegeti mai bine de la sursa.

Edited by PassaMan

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...