class IRCBot(irc.IRCClient): """Python Twisted IRC BOT. irc.IRCClient specialization.""" lineRate = 1 def _get_nickname(self): return self.factory.nickname nickname = property(_get_nickname) def connectionMade(self): irc.IRCClient.connectionMade(self) try: logfile = open(self.factory.log_filename, "a") except IOError, error: sys.stderr.write("ERROR: %s\n" % error) sys.exit(1) self.logger = MessageLogger(logfile) self.logger.log( "[connected at %s]" % time.asctime(time.localtime(time.time())) ) self.data_manager = DataManager(self.logger) self.karmrator = KarmaRateLimiter() self.reddit = RedditManager() # Singleton WelcomeMachine class self.welcome_machine = WelcomeMachine(self.factory.cm.greetings_file_path)
def connectionMade(self): irc.IRCClient.connectionMade(self) self.logger = MessageLogger(open(self.factory.filename, "a")) self.logger.log( "[connected at %s]" % time.asctime(time.localtime(time.time())) )
class BaseIRCBot(irc.IRCClient, object): def connectionMade(self): irc.IRCClient.connectionMade(self) self.logger = MessageLogger(open(self.factory.filename, "a")) self.logger.log( "[connected at %s]" % time.asctime(time.localtime(time.time())) ) def connectionLost(self, reason): irc.IRCClient.connectionLost(self, reason) self.logger.log( "[disconnected at %s]" % time.asctime(time.localtime(time.time())) ) self.logger.close() def identify(self): if self.password: self.msg('NickServ', 'RELEASE %s %s' % (self.nickname, self.password)) self.msg('NickServ', 'RELEASE %s %s' % (self.nickname, self.password)) self.msg('NickServ', 'IDENTIFY %s %s' % (self.nickname, self.password)) def signedOn(self): """Called when bot has succesfully signed on to server.""" self.join(self.factory.channel) self.identify() def action(self, user, channel, msg): """This will get called when the bot sees someone do an action.""" # i.e. /me <something> user = user.split('!', 1)[0] self.logger.log("* %s %s" % (user, msg)) def privmsg(self, user, channel, msg): """This will get called when the bot receives a message.""" self.logger.log(msg)
class BaseIRCBot(irc.IRCClient, object): def connectionMade(self): irc.IRCClient.connectionMade(self) self.logger = MessageLogger(open(self.factory.filename, "a")) self.logger.log("[connected at %s]" % time.asctime(time.localtime(time.time()))) def connectionLost(self, reason): irc.IRCClient.connectionLost(self, reason) self.logger.log("[disconnected at %s]" % time.asctime(time.localtime(time.time()))) self.logger.close() def identify(self): if self.password: self.msg('NickServ', 'RELEASE %s %s' % (self.nickname, self.password)) self.msg('NickServ', 'RELEASE %s %s' % (self.nickname, self.password)) self.msg('NickServ', 'IDENTIFY %s %s' % (self.nickname, self.password)) def signedOn(self): """Called when bot has succesfully signed on to server.""" self.join(self.factory.channel) self.identify() def action(self, user, channel, msg): """This will get called when the bot sees someone do an action.""" # i.e. /me <something> user = user.split('!', 1)[0] self.logger.log("* %s %s" % (user, msg)) def privmsg(self, user, channel, msg): """This will get called when the bot receives a message.""" self.logger.log(msg)
import paho.mqtt.client as mqtt from topic import Topic BASE_TOPIC = Topic("433MHz") from blind import Blind from fountain import Fountain from message_logger import MessageLogger listeners = [Blind('inner'), Blind('outer'), Fountain(), MessageLogger()] def on_connect(client, userdata, flags, rc): print("Connected with result code " + str(rc)) client.subscribe(str(BASE_TOPIC + "#")) class MQTT433MHz(object): def __init__(self, *argv): self.client = mqtt.Client(*argv) self.client.on_connect = on_connect for listener in listeners: listener.attach(self.client, BASE_TOPIC)
import datetime from hashlib import sha256 from functools import wraps, partial from flask import (Flask, render_template, request, url_for, redirect, make_response, session, flash) from db_connect import connect from translate import microsoft_translate from message_logger import MessageLogger from chatbot import Chatbot app = Flask(__name__) app.config[ 'SECRET_KEY'] = '12fa-d9_0?10\'!9_h0vfefq0["n92039ngb/\'23rf2"12a1li_' message_logger = MessageLogger() chatbot = Chatbot() def hash_password(password): """Return the sha256 hexdigest of password""" return sha256(bytes(password, "utf-8")).hexdigest() def execute_mysql_command(instruction): """Execute mysql commands like DELETE and INSERT. Does not include SELECT command. """ mydb = connect() mycursor = mydb.cursor() mycursor.execute(instruction) mydb.commit()
def connectionMade(self): irc.IRCClient.connectionMade(self) self.logger = MessageLogger(open(self.factory.filename, "a")) self.logger.log("[connected at %s]" % time.asctime(time.localtime(time.time())))