Erstellen Sie eine sehr einfache IRC-bot mit SSL?
Wie kann ich das implementieren von SSL mit diesem? Ich habe versucht, verwenden Sie ein SSL-socket, aber ich habe nicht in der Lage, um es arbeiten noch. Irgendwelche Ideen?
Dank,
Dennis
Edit: Hab es!
# Import some necessary libraries.
import socket, ssl
# Some basic variables used to configure the bot
server = "irc.freenode.net" # Server
port = 7000 # Port
channel = "#test" # Channel
botnick = "LOLBOT" # Your bots nick
def ping(): # This is our first function! It will respond to server Pings.
ircsock.send("PONG :pingis\n")
def sendmsg(chan , msg): # This is the send message function, it simply sends messages to the channel.
ircsock.send("PRIVMSG "+ chan +" :"+ msg +"\n")
def joinchan(chan): # This function is used to join channels.
ircsock.send("JOIN "+ chan +"\n")
def hello(): # This function responds to a user that inputs "Hello Mybot"
ircsock.send("PRIVMSG "+ channel +" :Hello!\n")
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((server, port)) # Here we connect to the server using the port 6667
ircsock = ssl.wrap_socket(s)
ircsock.send("USER "+ botnick +" "+ botnick +" "+ botnick +" :This bot is a result of a tutoral covered on http://shellium.org/wiki.\n") # user authentication
ircsock.send("NICK "+ botnick +"\n") # here we actually assign the nick to the bot
joinchan(channel) # Join the channel using the functions we previously defined
while 1: # Be careful with these! it might send you to an infinite loop
ircmsg = ircsock.recv(2048) # receive data from the server
ircmsg = ircmsg.strip('\n\r') # removing any unnecessary linebreaks.
print(ircmsg) # Here we print what's coming from the server
if ircmsg.find(":Hello "+ botnick) != -1: # If we can find "Hello Mybot" it will call the function hello()
hello()
if ircmsg.find("PING :") != -1: # if the server pings us then we've got to respond!
ping()
- Ich bemerkte, ich habe seit umherschweifende. Grundsätzlich bin ich versäumt zu SSL wickeln Sie die Steckdose. Kann mir jemand ein Beispiel, wie man dies richtig tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Besteht die Gefahr, fehlt die Frage ganz, haben Sie versucht,diese?
Es wurde nicht aktualisiert, in eine Weile, aber irclib unterstützt ssl-sockets. Sie können nehmen Sie einen Blick an, wie er es tut.