[V3 RPC] Add basic RPC functionality (#1017)

* Add basic RPC functionality

* Add load/unload/reload rpc commands

* Reorganize without rpc_ready event

* Remove rpc ready event

* Removed bot reference from rpc module

* Close RPC server cleanly

* refactor bot

* Refactor a bit and make RPC server initialization based on a cli flag

* Fix version resolver

* standardize version getters

* Pick a new port number
This commit is contained in:
Will
2017-10-27 20:55:41 -04:00
committed by GitHub
parent 8d8e1c61d8
commit f459a21bef
9 changed files with 175 additions and 8 deletions

View File

@@ -9,9 +9,11 @@ import discord
from .sentry_setup import should_log
from discord.ext import commands
from . import __version__
from .data_manager import storage_type
from .utils.chat_formatting import inline, bordered
from colorama import Fore, Style
from .rpc import initialize
log = logging.getLogger("red")
sentry_log = logging.getLogger("red.sentry")
@@ -70,12 +72,13 @@ def init_events(bot, cli_flags):
prefixes = await bot.db.prefix()
lang = await bot.db.locale()
red_pkg = pkg_resources.get_distribution('Red_DiscordBot')
dpy_version = pkg_resources.get_distribution('discord.py').version
red_version = __version__
red_pkg = pkg_resources.get_distribution("Red-DiscordBot")
dpy_version = discord.__version__
INFO = [str(bot.user), "Prefixes: {}".format(', '.join(prefixes)),
'Language: {}'.format(lang),
"Red Bot Version: {}".format(red_pkg.version),
"Red Bot Version: {}".format(red_version),
"Discord.py Version: {}".format(dpy_version),
"Shards: {}".format(bot.shard_count)]
@@ -125,6 +128,9 @@ def init_events(bot, cli_flags):
if invite_url:
print("\nInvite URL: {}\n".format(invite_url))
if bot.rpc_enabled:
await initialize(bot)
@bot.event
async def on_command_error(ctx, error):
if isinstance(error, commands.MissingRequiredArgument):