<codeclass="sig-name descname">_data_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[royalnet.commands.commanddata.CommandData]<aclass="headerlink"href="#royalnet.bots.TelegramBot._data_factory"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">_handle_update</code><spanclass="sig-paren">(</span><emclass="sig-param">update: telegram.update.Update</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.TelegramBot._handle_update"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">_init_client</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.TelegramBot._init_client"title="Permalink to this definition">¶</a></dt>
<dd><p>Create the <aclass="reference external"href="https://python-telegram-bot.readthedocs.io/en/stable/telegram.bot.html#telegram.Bot"title="(in Python Telegram Bot v11.1)"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">telegram.Bot</span></code></a>, and set the starting offset.</p>
<codeclass="sig-name descname">_interface_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[royalnet.commands.commandinterface.CommandInterface]<aclass="headerlink"href="#royalnet.bots.TelegramBot._interface_factory"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">interface_name</code><emclass="property"> = 'telegram'</em><aclass="headerlink"href="#royalnet.bots.TelegramBot.interface_name"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">run</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.TelegramBot.run"title="Permalink to this definition">¶</a></dt>
<emclass="property">class </em><codeclass="sig-prename descclassname">royalnet.bots.</code><codeclass="sig-name descname">TelegramConfig</code><spanclass="sig-paren">(</span><emclass="sig-param">token: str</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.TelegramConfig"title="Permalink to this definition">¶</a></dt>
<dd><p>The specific configuration to be used for <codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.database.TelegramBot</span></code>.</p>
<codeclass="sig-name descname">_bot_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[discord.client.Client]<aclass="headerlink"href="#royalnet.bots.DiscordBot._bot_factory"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">_data_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[royalnet.commands.commanddata.CommandData]<aclass="headerlink"href="#royalnet.bots.DiscordBot._data_factory"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">_init_client</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordBot._init_client"title="Permalink to this definition">¶</a></dt>
<dd><p>Create an instance of the DiscordClient class created in <aclass="reference internal"href="#royalnet.bots.DiscordBot._bot_factory"title="royalnet.bots.DiscordBot._bot_factory"><codeclass="xref py py-func docutils literal notranslate"><spanclass="pre">royalnet.bots.DiscordBot._bot_factory()</span></code></a>.</p>
<codeclass="sig-name descname">_init_voice</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordBot._init_voice"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">_interface_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[royalnet.commands.commandinterface.CommandInterface]<aclass="headerlink"href="#royalnet.bots.DiscordBot._interface_factory"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">add_to_music_data</code><spanclass="sig-paren">(</span><emclass="sig-param">dfiles: List[royalnet.audio.ytdldiscord.YtdlDiscord], guild: discord.guild.Guild</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordBot.add_to_music_data"title="Permalink to this definition">¶</a></dt>
<dd><p>Add a list of <aclass="reference internal"href="audio.html#royalnet.audio.YtdlDiscord"title="royalnet.audio.YtdlDiscord"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.audio.YtdlDiscord</span></code></a> to the corresponding music_data object.</p>
<emclass="property">async </em><codeclass="sig-name descname">advance_music_data</code><spanclass="sig-paren">(</span><emclass="sig-param">guild: discord.guild.Guild</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordBot.advance_music_data"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">interface_name</code><emclass="property"> = 'discord'</em><aclass="headerlink"href="#royalnet.bots.DiscordBot.interface_name"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">run</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordBot.run"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">update_activity_with_source_title</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordBot.update_activity_with_source_title"title="Permalink to this definition">¶</a></dt>
<dd><p>Change the bot’s presence (using <codeclass="xref py py-func docutils literal notranslate"><spanclass="pre">discord.Client.change_presence()</span></code>) to match the current listening status.</p>
<p>If multiple guilds are using the bot, the bot will always have an empty presence.</p>
<emclass="property">class </em><codeclass="sig-prename descclassname">royalnet.bots.</code><codeclass="sig-name descname">DiscordConfig</code><spanclass="sig-paren">(</span><emclass="sig-param">token: str</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.DiscordConfig"title="Permalink to this definition">¶</a></dt>
<dd><p>The specific configuration to be used for <aclass="reference internal"href="#royalnet.bots.DiscordBot"title="royalnet.bots.DiscordBot"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.bots.DiscordBot</span></code></a>.</p>
<codeclass="sig-name descname">_data_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[royalnet.commands.commanddata.CommandData]<aclass="headerlink"href="#royalnet.bots.GenericBot._data_factory"title="Permalink to this definition">¶</a></dt>
<codeclass="sig-name descname">_init_commands</code><spanclass="sig-paren">(</span><emclass="sig-param">commands: List[Type[royalnet.commands.command.Command]]</em><spanclass="sig-paren">)</span>→ None<aclass="headerlink"href="#royalnet.bots.GenericBot._init_commands"title="Permalink to this definition">¶</a></dt>
<dd><p>Generate the <codeclass="docutils literal notranslate"><spanclass="pre">commands</span></code> dictionary required to handle incoming messages, and the <codeclass="docutils literal notranslate"><spanclass="pre">network_handlers</span></code>
dictionary required to handle incoming requests.</p>
<codeclass="sig-name descname">_init_database</code><spanclass="sig-paren">(</span><emclass="sig-param">commands: List[Type[royalnet.commands.command.Command]], database_config: royalnet.database.databaseconfig.DatabaseConfig</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.GenericBot._init_database"title="Permalink to this definition">¶</a></dt>
<dd><p>Create an <aclass="reference internal"href="database.html#royalnet.database.Alchemy"title="royalnet.database.Alchemy"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.database.Alchemy</span></code></a> with the tables required by the commands. Then,
find the chain that links the <codeclass="docutils literal notranslate"><spanclass="pre">master_table</span></code> to the <codeclass="docutils literal notranslate"><spanclass="pre">identity_table</span></code>.</p>
<codeclass="sig-name descname">_init_royalnet</code><spanclass="sig-paren">(</span><emclass="sig-param">royalnet_config: royalnet.network.royalnetconfig.RoyalnetConfig</em><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.GenericBot._init_royalnet"title="Permalink to this definition">¶</a></dt>
<dd><p>Create a <aclass="reference internal"href="network.html#royalnet.network.RoyalnetLink"title="royalnet.network.RoyalnetLink"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.network.RoyalnetLink</span></code></a>, and run it as a <aclass="reference external"href="https://docs.python.org/3.7/library/asyncio-task.html#asyncio.Task"title="(in Python v3.7)"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">asyncio.Task</span></code></a>.</p>
<codeclass="sig-name descname">_interface_factory</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span>→ Type[royalnet.commands.commandinterface.CommandInterface]<aclass="headerlink"href="#royalnet.bots.GenericBot._interface_factory"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">_network_handler</code><spanclass="sig-paren">(</span><emclass="sig-param">request_dict: dict</em><spanclass="sig-paren">)</span>→ dict<aclass="headerlink"href="#royalnet.bots.GenericBot._network_handler"title="Permalink to this definition">¶</a></dt>
<dd><p>Handle a single <aclass="reference external"href="https://docs.python.org/3.7/library/stdtypes.html#dict"title="(in Python v3.7)"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">dict</span></code></a> received from the <aclass="reference internal"href="network.html#royalnet.network.RoyalnetLink"title="royalnet.network.RoyalnetLink"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.network.RoyalnetLink</span></code></a>.</p>
<dlclass="field-list simple">
<dtclass="field-odd">Returns</dt>
<ddclass="field-odd"><p>Another <aclass="reference external"href="https://docs.python.org/3.7/library/stdtypes.html#dict"title="(in Python v3.7)"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">dict</span></code></a>, formatted as a <aclass="reference internal"href="network.html#royalnet.network.Response"title="royalnet.network.Response"><codeclass="xref py py-class docutils literal notranslate"><spanclass="pre">royalnet.network.Response</span></code></a>.</p>
<codeclass="sig-name descname">interface_name</code><emclass="property"> = NotImplemented</em><aclass="headerlink"href="#royalnet.bots.GenericBot.interface_name"title="Permalink to this definition">¶</a></dt>
<emclass="property">async </em><codeclass="sig-name descname">run</code><spanclass="sig-paren">(</span><spanclass="sig-paren">)</span><aclass="headerlink"href="#royalnet.bots.GenericBot.run"title="Permalink to this definition">¶</a></dt>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/rtfd/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.