43 lines
1.2 KiB
Python
43 lines
1.2 KiB
Python
## ##
|
|
##/dev/udp/ip/port##
|
|
from irc import client, connection
|
|
from socket import socket, AF_INET, SOCK_DGRAM
|
|
from configparser import ConfigParser
|
|
from os import chdir, path
|
|
from threading import Thread
|
|
|
|
host = '10.10.13.1'
|
|
port = 7777
|
|
addr = (host,port)
|
|
|
|
s = socket(AF_INET, SOCK_DGRAM) # Socket creation
|
|
s.bind(addr) # Bind socket to ip
|
|
|
|
config = ConfigParser()
|
|
chdir(path.dirname(path.abspath(__file__)))
|
|
config.read('server.conf')
|
|
|
|
def on_connect(connection, event):
|
|
connection.mode(config['Global']['IRC_bot_nickname'], '+B')
|
|
connection.join(config['Global']['IRC_chat_name'])
|
|
|
|
def on_join(connection, event):
|
|
connection.privmsg(config['Global']['IRC_chat_name'], 'Bot started')
|
|
|
|
def on_disconnect(connection, event):
|
|
exit()
|
|
|
|
reactor = client.Reactor()
|
|
irc = reactor.server()
|
|
irc.connect(config['Global']['IRC_host'], int(config['Global']['IRC_port']), config['Global']['IRC_bot_nickname'])
|
|
irc.add_global_handler("welcome", on_connect)
|
|
irc.add_global_handler("join", on_join)
|
|
irc.add_global_handler('disconnect', on_disconnect)
|
|
Thread(target=reactor.process_forever).start()
|
|
|
|
while True:
|
|
message, addr = s.recvfrom(1024) # receive message
|
|
print('client addr: ', addr)
|
|
print('info: ', message)
|
|
s.close()
|