Exemple #1
0
def get_client():
    from disco.client import ClientConfig, Client
    from rowboat.config import token

    config = ClientConfig()
    config.token = token
    return Client(config)
Exemple #2
0
    def __init__(self, **kwargs):
        self.db = redis.from_url(kwargs.get('redis_url'), decode_responses=True)

        discord_config = ClientConfig()
        discord_config.token = kwargs.get('discord_token')
        discord_client = Client(discord_config)
        self.api = discord_client.api

        self.log = logging.getLogger(self.__class__.__name__).info
Exemple #3
0
    def __init__(self, **kwargs):
        self.db = redis.from_url(kwargs.get('redis_url'),
                                 decode_responses=True)

        discord_config = ClientConfig()
        discord_config.token = kwargs.get('discord_token')
        discord_client = Client(discord_config)
        self.api = discord_client.api

        self.log = logging.getLogger(self.__class__.__name__).info
Exemple #4
0
 def __init__(self, token, channel_id):
     """Creates a new message in the given `channel_id`."""
     super(DiscordIO, self).__init__()
     config = ClientConfig()
     config.token = token
     client = Client(config)
     self.text = self.__class__.__name__
     try:
         self.message = client.api.channels_messages_create(channel_id, self.text)
     except Exception as e:
         tqdm_auto.write(str(e))
Exemple #5
0
    def _on_rpc_request(self, op, data):
        log.info('RPC REQUEST: %s', op)

        if op == 'INIT' and not self.client:
            config = ClientConfig()
            config.token = data['token']
            config.state = {
                'sync_guild_members': False,
                'track_messages': False
            }
            self.client = Client(config)
            self.state = self.client.state
            self._bind_events()
        elif op == 'DISPATCH':
            self._on_dispatch(*data)
Exemple #6
0
    def __init__(self, *args, **kwargs):
        self.broker_url = config.BROKER_URL or DEFAULT_BROKER_URL
        self.redis_url = config.REDIS_URL or DEFAULT_BROKER_URL

        self.log = logging.getLogger('worker').info

        self.redis = redis.from_url(self.redis_url, decode_responses=True)
        self.log('Connected to redis database')

        discord_config = ClientConfig()
        discord_config.token = config.MEE6_TOKEN
        discord_client = Client(discord_config)
        self.api = discord_client.api

        self.listeners = []
        self.plugins = []
Exemple #7
0
    def __init__(self, *args, **kwargs):
        self.broker_url = config.BROKER_URL or DEFAULT_BROKER_URL
        self.redis_url = config.REDIS_URL or DEFAULT_BROKER_URL

        self.log = logging.getLogger('worker').info

        self.redis = redis.from_url(self.redis_url,
                                    decode_responses=True)
        self.log('Connected to redis database')

        discord_config = ClientConfig()
        discord_config.token = config.MEE6_TOKEN
        discord_client = Client(discord_config)
        self.api = discord_client.api

        self.listeners = []
        self.plugins = []
Exemple #8
0
    def __init__(self, *args, **kwargs):
        self.broker_url = kwargs.get('broker_url',
                                     'redis://localhost')
        self.redis_url = kwargs.get('redis_url',
                                    'redis://localhost')

        self.log = logging.getLogger('worker').info

        self.redis = redis.from_url(self.redis_url,
                                    decode_responses=True)
        self.log('Connected to redis database')

        discord_config = ClientConfig()
        discord_config.token = kwargs.get('discord_token')
        discord_client = Client(discord_config)
        self.api = discord_client.api

        self.listeners = []
        self.plugins = []
Exemple #9
0
    def load(self, config=None, state=None):
        super().load(config=config, state=state)

        conf = ClientConfig()
        conf.token = self.config.get('token')
        conf.max_reconnects = 0
        self.client = Client(conf)
        self.client.parent = self
        self.client.agent = self.agent

        self.bot = None
        bot_config = BotConfig()
        bot_config.commands_require_mention = False
        bot_config.commands_prefix = self.config.get('command_prefix', '.')

        bot_config.levels = self.config.get('access', {})

        bot_config.commands_level_getter = self.level_getter
        self.bot = Bot(self.client, bot_config)

        for unique_id, pconf in self.config.get('plugins').items():
            if pconf is None:
                pconf = {}

            pconf.setdefault("_autoload", True)
            pconf.setdefault("_module", unique_id)
            if not pconf["_autoload"]:
                continue

            self.bot.add_plugin_module(pconf["_module"], pconf)  #TODO: replace

        for _, plugin in self.bot.plugins.items():
            plugin.parent = self

        self.bot.agent = self.agent
        self.bot.parent = self

        self.me = self.client.api.users_me_get()
Exemple #10
0
def get_client():
    from disco.client import ClientConfig, Client

    config = ClientConfig()
    config.token = bot_config.token
    return Client(config)
Exemple #11
0
from disco.bot import Plugin
from disco.client import ClientConfig, Client, APIClient
from disco.types.channel import MessageIterator
from disco.types.permissions import Permissions
from datetime import datetime

from util.encoders import MessageEncoder
from util.toCSV import toCSVLine

with open('./config.json') as file:  #Pull config variables from file
    data = json.load(file)
AUTH_TOKEN = data['token']
DEBUG = data['debug']

mConfig = ClientConfig()
mConfig.token = AUTH_TOKEN
mClient = Client(mConfig)


class ArchivePlugin(Plugin):
    @Plugin.command('ping')
    def command_ping(self, event):
        event.msg.reply('Pong!')

    @Plugin.command('archive', parser=True)
    @Plugin.parser.add_argument('--JSON',
                                help="Archive in JSON format",
                                action="store_true",
                                default=False)
    @Plugin.parser.add_argument('--CSV',
                                help="Archive in CSV format",