Execute your bot's commands from the console!
Project description
⌨️
Guilded.py console
[!NOTE] Guilded.py console is a fork of Discord.py Console but has been completely rewritten. The only file that uses
discord.py-Console
's source code is__init__.py
Guilded.py console is a CLI for your Guilded.py bot, with Guilded.py console you can run commands right from your console!
📥
Installation
🪟
Windows
py -3 -m pip install gpy-console
🍎
Linux/macOS
python3 -m pip install gpy-console
⚙️
Example
The implementation is similar to the regular commands in guilded.py. Just implement the gpy-console like this:
import guilded
from gpyConsole import ConsoleClient
from gpyConsole import console_commands
client = ConsoleClient(
features=guilded.ClientFeatures(official_markdown=True),
)
# can also do "bot = ConsoleBot", see tests/test.py
@client.event
@bot.event
async def on_ready():
print(f"Logged in as {bot.user}")
if not bot._console_running:
bot.start_console()
@client.console_command()
async def hey(
ctx: console_commands.Context, # Modified Console Context with less features (.reply and .send are the same)
channel: guilded.ChatChannel,
user: guilded.User,
): # Library automatically converts type annotations, just like in guilded.py
# Missing converters: guilded.Role, guilded.Member, guilded.ChatMessage, guilded.Attachments
await ctx.reply(f"Sending message to {user.name} (id: {user.id})")
await channel.send(
f"Hello from Console! I'm {client.user.name}, and you are {user.mention}"
)
client.run(
"gapi_token"
)
To execute the mentioned command run hey <valid_channel_id> <valid_user_id>
.
🔗
Links
No links currently
gpyConsole: things to know
The console has to be started manually. Try something like this:
@bot.event
async def on_ready():
print(f"Logged in as {bot.user}")
if not bot._console_running:
bot.start_console()
Missing Converters
Any converter that relies on the local server will not be available. This includes:
- guilded.Role
- guilded.Member
- guilded.ChatMessage
- guilded.Attachment
New Events
New events were added that are accessible like any other guilded.py event.
on_console_command_completion
on_console_command
on_console_command_error
on_console_message
Console Cogs
All cogs should be replaced with a ConsoleCog; it implements guilded.py's Cog feature so it will work the same.
from gpyConsole import console_commands
from guilded.ext import commands
class ExampleCog(console_commands.ConsoleCog):
def __init__(self, bot: console_commands.ConsoleBot):
self.bot = bot
@console_commands.console_command()
async def hello(self, ctx: console_commands.Context):
return await ctx.reply("Hello from cog!")
@commands.command()
async def wow(self, ctx: commands.Context):
await ctx.send("Wow! Cog worked!")
def setup(bot: console_commands.ConsoleBot):
bot.add_cog(ExampleCog(bot))
You can stop the console
if bot._console_running:
bot.stop_console()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gpy_console-0.2.3.tar.gz
.
File metadata
- Download URL: gpy_console-0.2.3.tar.gz
- Upload date:
- Size: 32.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54d0adedf7e437c693eb74881896170bf35dcaabfd7428a04b0d1a3efb42d798 |
|
MD5 | 0d17b0b5c6b6ab9eefc963fb061b65aa |
|
BLAKE2b-256 | f9937713fc0530ba6e2dc4764d6dc5a37fdb9c17895c3a55833cf991bddac0f6 |
File details
Details for the file gpy_console-0.2.3-py3-none-any.whl
.
File metadata
- Download URL: gpy_console-0.2.3-py3-none-any.whl
- Upload date:
- Size: 34.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ba183709e12e08a74563194153441dd4fccd5a03a886b15afc833515a4046bd1 |
|
MD5 | 6f91e148f451dc0469a314f64e5b01f2 |
|
BLAKE2b-256 | a2a88933223d6d228b73d8c52354141339a51d597096cf486ba6f07c0c22109c |