Exemple #1
0
    def __init__(self, datadir = "datadir", user = "", password = ""):
        XmlRpcAuth.__init__(self, user, password)

        self._leave_reason = ""
        self._datadir = datadir
        self._db = SQLiter(self._datadir)
        self._port = 0
        self.loadConfig(path.join(self._datadir,
                                  "rirc.cfg"))
Exemple #2
0
import logging
from aiogram import Bot, Dispatcher, executor, types
from sqliter import SQLiter

logging.basicConfig(level=logging.INFO)
import random

TOKEN = '948170738:AAF4VCIqAJCmBP-tzVnx11zRWZARJTxv118'
bot = Bot(token=TOKEN)
dp = Dispatcher(bot)
db = SQLiter(
    'postgres://*****:*****@ec2-54-216-17-9.eu-west-1.compute.amazonaws.com:5432/d804h1sknk085j'
)
players = {}
WantToPlay = []
IsATTAKING = []
IsGameOn = []
LeftDistance = []
PersonAlive = []
CamelAlive = []
CamelHealth = []
PersonHealth = []
DistanceToBandits = []
CntWater = []
CntMeat = []
CntAct = []
Win = []
b = []


@dp.message_handler(commands=['start'])
Exemple #3
0
import config
import logging
import asyncio
from datetime import datetime
from aiogram import Bot,Dispatcher,executor,types
from sqliter import SQLiter
from pars import StopGame
logging.basicConfig(level=logging.INFO)

bot=Bot(token=config.API_TOKEN)
dp=Dispatcher(bot)

db = SQLiter('db.db')
sg=StopGame('lastkey.txt')

@dp.message_handler(commands=['subscribe'])
async def subscribe(message: types.Message):
	if(not db.subscriber_exists(message.from_user.id)):
		# если юзера нет в базе, добавляем его
		db.add_subscriber(message.from_user.id)
	else:
		# если он уже есть, то просто обновляем ему статус подписки
		db.update_subscription(message.from_user.id, 1)

	await message.answer("Вы успешно подписались на рассылку!")

@dp.message_handler(commands=['unsubscribe'])
async def unsubscribe(message: types.Message):
	if(not db.subscriber_exists(message.from_user.id)):
		# если юзера нет в базе, добавляем его с неактивной подпиской (запоминаем)
		db.add_subscriber(message.from_user.id, 0)
Exemple #4
0
class RIRC(XmlRpcAuth):
    def __init__(self, datadir = "datadir", user = "", password = ""):
        XmlRpcAuth.__init__(self, user, password)

        self._leave_reason = ""
        self._datadir = datadir
        self._db = SQLiter(self._datadir)
        self._port = 0
        self.loadConfig(path.join(self._datadir,
                                  "rirc.cfg"))

    def _get_port(self):
        return self._port
    port = property(_get_port)

    def loadConfig(self, path):
        self.config = ConfigParser()
        self.config.read([path])

        for section in self.config.sections():
            if section == "General":
                self._port = self.config.getint(section, "ServePort")
                self._auth = self.config.getboolean(section, "UseAuth")
                if(self._auth):
                    self._user = self.config.get(section, "User")
                    self._password = self.config.get(section, "Password")
                self._leave_reason = self.config.get(section, "LeaveReason")
                continue

            add_network(self._db,
                        name     = section,
                        use_ssl  = self.config.getboolean(section, "SSL"),
                        url      = self.config.get(section, "URL"),
                        port     = self.config.getint(section, "Port"),
                        channels = self.config.get(section, "AutoJoin").split(","),
                        nicks    = self.config.get(section, "Nicks").split(","),
                        leave_reason = self._leave_reason)

    def xmlrpc_join(self, network, channel, key=None):
        global networks
        if network in networks.keys():
           networks[network].join(channel, key)

    def xmlrpc_leave(self, network, channel, reason=None):
        global networks
        if network in networks.keys():
            networks[network].leave(channel, reason)

    def xmlrpc_close(self, network, channel):
        global networks
        if network in networks.keys():
            networks[network].close(channel)

    def xmlrpc_kick(self, network, channel, user, reason=None):
        global networks
        if network in networks.keys():
            networks[network].kick(channel, user, reason)

    def xmlrpc_topic(self, network, channel, topic=None):
        global networks
        if network in networks.keys():
            networks[network].topic(channel, topic)

    def xmlrpc_get_topic(self, network, channel):
        global networks
        if network in networks.keys():
            return networks[network].get_topic(channel)

    def xmlrpc_mode(self, network, chan, set, modes, limit=None, user=None, mask=None):
        global networks
        if network in networks.keys():
            networks[network].mode(chan, set, modes, limit, user, mask)

    def xmlrpc_say(self, network, channel, message, length=None):
        global networks
        if network in networks.keys():
            networks[network].say(channel, message, length)

    def xmlrpc_msg(self, network, user, message, length=None):
        global networks
        if network in networks.keys():
            networks[network].msg(user, message, length)

    def xmlrpc_notice(self, network, user, message):
        global networks
        if network in networks.keys():
            networks[network].notice(user, message)

    def xmlrpc_away(self, network, message=''):
        global networks
        if network in networks.keys():
            networks[network].away(message)

    def xmlrpc_back(self):
        global networks
        if network in networks.keys():
            networks[network].back()

    def xmlrpc_whois(self, network, nickname, server=None):
        global networks
        if network in networks.keys():
            networks[network].whois(nickname, server)

    def xmlrpc_query(self, network, nickname):
        global networks
        if network in networks.keys():
            networks[network].query(nickname)

    def xmlrpc_register(self, network, nickname, hostname='foo', servername='bar'):
        global networks
        if network in networks.keys():
            networks[network].register(nickname, hostname, servername)

    def xmlrpc_setNick(self, network, nickname):
        global networks
        if network in networks.keys():
            networks[network].setNick(nickname)

    def xmlrpc_quit(self, network, message=''):
        global networks
        if network in networks.keys():
            networks[network].quit(message)

    def xmlrpc_me(self, network, channel, action):
        global networks
        if network in networks.keys():
            networks[network].me(channel, action)

    def xmlrpc_ping(self, network, user, text=None):
        global networks
        if network in networks.keys():
            if len(user) == 0:
                user = networks[network].nick
            networks[network].ping(user, text)

    def xmlrpc_get_networks(self):
        print "Getting networks..."
        return json.dumps({"networks": self._db.get_networks()})

    def xmlrpc_get_channels(self, network):
        return json.dumps({"network": network,
                           "channels": self._db.get_channels(network)})

    def xmlrpc_get_lines(self, network, channel, offset, count, older_than = -1):
        return json.dumps({"network": network,
                           "channel": channel,
                           "lines": self._db.get_lines(network, channel,
                                                       offset, count,
                                                       older_than)})

    def xmlrpc_nick(self, network):
        global networks
        if network in networks.keys():
            return networks[network].nick

    def xmlrpc_get_diffs(self, since):
        diffs, now = self._db.get_diffs(since)
        return json.dumps({"changes": diffs,
                           "timestamp": now})

    def xmlrpc_mark(self, date, network, channel):
        self._db.mark(date, network, channel)

    def xmlrpc_get_mark(self, network, channel):
        return json.dumps({"network": network,
                           "channel": channel,
                           "marker": self._db.get_mark(network, channel)})