#discord-bots

1 messages ยท Page 1079 of 1

slate swan
#

ping me with issues you face... ill try to help with whatever i can

dense coral
#

How do I make it show uptime in seconds

royal meteor
#

How to make embed paginator with slash command???
I'm using this but it keeps giving an error:

paginator = BotEmbedPaginator(interaction, embed_list)
await paginator.run()```

```discord.app_commands.errors.CommandInvokeError: Command 'help' raised an exception: AttributeError: 'Interaction' object has no attribute 'bot'```

I've checked the docs and they only give examples of when `ctx` is used.
slate swan
#

Is there any YT tutorial series for discord2?

vocal cave
slate swan
#

No u

vocal cave
#

Hi can anyone give me library management system 6 page code

shrewd apex
shrewd apex
slate swan
#

Oh welp, guess gotta experiment on my own through the docs. By the way, do you know how to use both traditional prefix commands along with slash commands?

shrewd apex
#

so u can't have calling them both

vocal cave
#

Means python code for library Management System project

shrewd apex
#

with prefix and slash at the same time

shrewd apex
#

for that u should go to python help channel

vocal cave
#

So I just want toask

shrewd apex
#

and here people help u with parts of your code or where u are stuck

slate swan
#

Alright. What are message commands? Found this thing in the docs long with user commands but cannot understand what message commands are.

shrewd apex
#

it's not a library like u ask a code and someone gives u one

grizzled burrow
#

Code transported from old laptop to new, but cant seem to find the correct way to install discord.py
any assistance please? ty

vocal cave
#

Ok I have made one but stuck at one thing

heady sluice
#

not the right channel but seems like an easy problem

slate swan
heady sluice
#

there's no discord2

slate swan
#

there is.

heady sluice
#

it's not a thing

slate swan
#

!pypi discord2

unkempt canyonBOT
grizzled burrow
ashen torrent
slate swan
heady sluice
#

OH YOU INSTALL PYCORD AS DISCORD2

#

don't use pycord

heady sluice
ashen torrent
#

someone got a solution for this? ๐Ÿ˜„

slate swan
#

@grizzled burrow maybe check the python version your vs code is running. Sometimes it uses a different one like an old version so that might cause problem.

slate swan
slate swan
grizzled burrow
heady sluice
#

that's an IDE

#

what's your python interpreter

ashen torrent
slate swan
ashen torrent
slate swan
#

?

#

give package link

ashen torrent
unkempt canyonBOT
#

Toolkit for developing command-line utilities in Python

ashen torrent
#

WAIT NEVERMIND FOUND THE PROBLEM Xd

slate swan
#

@shrewd apex Seems like you are AFK now but thank you so much for answering my previous questions. Really appreciate it mate.

heady sluice
#

@grizzled burrow when I click on the play button in vsc, it shows me this in the terminal

#

it means my python version is 3.9

#

what's yours?

shrewd apex
#

just do python --version in terminal

lyric apex
#

Hey how to get emojis even if the bot is not in that server

shrewd apex
#

unless u go personally and download the images by hand

#

then upload in a server ur bot is in

slate swan
#

Asher's smort

lyric apex
#

I have seen many bots doing that @shrewd apex

quaint epoch
shrewd apex
#

really how come my bot don't got such super powers then

quaint epoch
#

then just str(emoji)

#

i think

shrewd apex
lyric apex
#

Dont know but this existsSad_Cat

slate swan
#

doesnt

lyric apex
#

Sad_Cat @slate swan

shrewd apex
slate swan
shrewd apex
#

also how do u know this exists?

lyric apex
#

I have seen my friend bot doing this

#

It uses dpy

#

So i think this exists

shrewd apex
#

how do u know all the servers ur friends bot is in๐Ÿคจ

maiden fable
#

What exists

shrewd apex
#

without being in the server

maiden fable
#

!d discord.Client.emojis is what u can use, but the bot can only send emojis of the servers it's in

unkempt canyonBOT
fallow mauve
#

is it possible to put slash commands in cogs?

shrewd apex
#

yeah that's what we are trying to explain from 5 mins

shrewd apex
maiden fable
fallow mauve
shrewd apex
#

oh sed

shrewd apex
maiden fable
#

Also, the GIF is like 1 GB and I cba to download it, upload it to websites to compress it, upload it to imgur and then use it

maiden fable
unkempt canyonBOT
shrewd apex
#

ss taken

fallow mauve
maiden fable
#

Can't be arsed

maiden fable
unkempt canyonBOT
#
NEGATORY.

No documentation found for the requested symbol.

shrewd apex
maiden fable
#

Sad, dpy hasn't implemented those

lyric apex
#

This is my own server emoji where this bot doesn't exists

#

Still it sends that emoji

shrewd apex
#

dpy 2.0 new docs aint exactly pro it's seriously under documented on many functions and uses

lyric apex
maiden fable
#

Ur specifying the emoji

#

!d discord.PartialEmoji.read

unkempt canyonBOT
#

await read()```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Retrieves the content of this asset as a [`bytes`](https://docs.python.org/3/library/stdtypes.html#bytes "(in Python v3.10)") object.
lyric apex
shrewd apex
#

lmao the first thing that caught my eye was the name of the bot

maiden fable
#

๐Ÿ˜‚

maiden fable
#

I didn't read the name

#

And I wish I didn't read it

lyric apex
#

Sad_Cat its secret

maiden fable
#

Ofc

#

U do know I know Hindi, right?

shrewd apex
#

it took me a sec to come back to the question

lyric apex
maiden fable
#

Anyways, use a PartialEmoji converter and use the read method

shrewd apex
#

me hunter sarth all indians

maiden fable
shrewd apex
#

do sending emojis in message generate links in message.content?

lyric apex
#

Ohkcute_cat i try it wait

maiden fable
#

U might wanna use BytesIO and pillow ig

fallow mauve
#

so ive seen bots reply to commands with messages saying "only you can see this message" and whatnot, how is this done?

lyric apex
shrewd apex
# maiden fable What links

normally when u right click on emoji u get a pop up open emoji in new tab so if u send a message with the emoji will the link be generated for the emoji image

maiden fable
shrewd apex
maiden fable
shrewd apex
lyric apex
slate swan
shrewd apex
#

is there a way to upload a emoji using a bot?

shrewd apex
slate swan
#

!d discord.Guild.create_custom_emoji

unkempt canyonBOT
#

await create_custom_emoji(*, name, image, roles=..., reason=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Creates a custom [`Emoji`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Emoji "discord.Emoji") for the guild.

There is currently a limit of 50 static and animated emojis respectively per guild, unless the guild has the `MORE_EMOJI` feature which extends the limit to 200.

You must have the [`manage_emojis`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Permissions.manage_emojis "discord.Permissions.manage_emojis") permission to do this.
slate swan
#

this

lyric apex
#

I was using discord.Emoji

shrewd apex
lyric apex
#

So it returns only the emoji that the bot is in *

shrewd apex
#

ss taken again

lyric apex
slate swan
#

in discord2, my message.content is coming out empty. I think that's because of the intents and stuff but how do I add intents to discord.Bot?

shrewd apex
#

screen shot

lyric apex
#

๐Ÿ™ƒwho taken

slate swan
#

for that method?

slate swan
#

yes

#

hm, disocrd.Bot is a thing for that lib only

slate swan
shrewd apex
#

idk abt pycord but do u have all intents enabled in code like discord.Intents.all()

slate swan
#

!intents this is how you do that in ur code

unkempt canyonBOT
#

Using intents in discord.py

Intents are a feature of Discord that tells the gateway exactly which events to send your bot. By default discord.py has all intents enabled except for Members, Message Content, and Presences. These are needed for features such as on_member events, to get access to message content, and to get members' statuses.

To enable one of these intents, you need to first go to the Discord developer portal, then to the bot page of your bot's application. Scroll down to the Privileged Gateway Intents section, then enable the intents that you need.

Next, in your bot you need to set the intents you want to connect with in the bot's constructor using the intents keyword argument, like this:

from discord import Intents
from discord.ext import commands

intents = Intents.default()
intents.members = True

bot = commands.Bot(command_prefix="!", intents=intents)

For more info about using intents, see the discord.py docs on intents, and for general information about them, see the Discord developer documentation on intents.

fallow mauve
#

ok im trying to add slash commands to my bot which ive done with many in the past and its working great except that when i install discord-py-slash-command it says it failed bcs the version im using is too recent, how can i fix this

slate swan
#

I need help with discord-py-slash-command, i installed it with pip install discord-py-slash-command but i still have an Error with the Import.
When i searched for the installation path i only saw 1 of 2 packages for discord-py-slash-command..

shrewd apex
fallow mauve
#

remind me again how to check version

#

@shrewd apex

shrewd apex
#

do pip freeze

fallow mauve
#

ok

#

i got a bunch of letters and numbers

#
discord.py @ file:///home/runner/.cache/pypoetry/artifacts/8a/f5/fd/3bad86524984f03dbed9b681a493a9b38c68e74a324f4a81b2143086b0/discord.py-1.7.3-py3-none-any.whl

@shrewd apex

slate swan
#

;/

shrewd apex
#

get 2.0 and migrate that has slash commands in it

fallow mauve
shrewd apex
#

don't use third party lib

fallow mauve
#

?

#

@shrewd apex pls explain i dont understand

#

@shrewd apex

shrewd apex
#

yeah

#

sorry a bit late

fallow mauve
#

ok

#

i dont understand what you mean "get 2.0 and migrate"

shrewd apex
#

hmm

#

ok lemme give u the link

slate swan
#

Asher's smort

shrewd apex
#

since u want to use interaction u will sooner later need to migrate

fallow mauve
#

prob like their username

shrewd apex
slate swan
slate swan
#

I wasn't making fun of anyone, and stop with that

shrewd apex
slate swan
#

uninstall discord-py-slash-commands in the mean time

shrewd apex
#

sorry

fallow mauve
slate swan
shrewd apex
#

pip uninstall xxx

slate swan
#

pip uninstall setuptools

#

so uwu

shrewd apex
#

:p

fallow mauve
#

oh and now i need to list intents... great i have no idea how to do that anymore xD

heady sluice
#

ew

unkempt canyonBOT
#

Using intents in discord.py

Intents are a feature of Discord that tells the gateway exactly which events to send your bot. By default discord.py has all intents enabled except for Members, Message Content, and Presences. These are needed for features such as on_member events, to get access to message content, and to get members' statuses.

To enable one of these intents, you need to first go to the Discord developer portal, then to the bot page of your bot's application. Scroll down to the Privileged Gateway Intents section, then enable the intents that you need.

Next, in your bot you need to set the intents you want to connect with in the bot's constructor using the intents keyword argument, like this:

from discord import Intents
from discord.ext import commands

intents = Intents.default()
intents.members = True

bot = commands.Bot(command_prefix="!", intents=intents)

For more info about using intents, see the discord.py docs on intents, and for general information about them, see the Discord developer documentation on intents.

slate swan
#

see the code block

maiden fable
fallow mauve
#

im just taking it from an old project

slate swan
fallow mauve
#

i used em a while back... and failed but the intents work

maiden fable
#

Oh, hm

#

Thought u uninstalling cz they are deprecated

shrewd apex
#

๐Ÿข

slate swan
#

Its new in 2.0

shrewd apex
#

just do discord.Intents.all()

fallow mauve
maiden fable
fallow mauve
#

also bot is at least running now, what next

shrewd apex
slate swan
#

unless you don't get data whitelisted for that intent, no

shrewd apex
#

btw u know how to shard a bot?

fallow mauve
#

me?

shrewd apex
#

nah

fallow mauve
#

ok

slate swan
#

you don't need any manual stuff for that, just use AutoShardedBot instead of Bot

fallow mauve
#

my bot is online now how to do slash commands?

shrewd apex
shrewd apex
fallow mauve
maiden fable
#

Discord has all the right to disallow that

shrewd apex
#

oh ๐Ÿ˜ณ

#

new knowledge

maiden fable
#

Tho u just gotta request for previleged intents

fallow mauve
#

@shrewd apex no module named "discord_slash"

maiden fable
#

My bot has access to Message Content and Members

slate swan
#

it was really useful

fallow mauve
#

ik

#

i had a similar experience a month ago

#

i went to find a tutorial for cogs and it worked great but then when my friend wanted to learn they had removed the tutorial

maiden fable
#

@shrewd apex

slate swan
#

eh well this page existed for like 3 yrs and more

maiden fable
shrewd apex
#

lmao

shrewd apex
slate swan
#

yeah they extended the date

maiden fable
stable leaf
#

how can you specify server icon?

slate swan
#

depends on what you mean by specify

#

!d discord.Guild.icon

unkempt canyonBOT
stable leaf
#

for member is member.avatar_url

slate swan
#

if you just mean getting its link, its guild.icon_url ( for you)

stable leaf
#

thx

#

it doesn't work and it didn't raise any error

#

(i have traceback)

slate swan
#

it wont work for servers with no icon, whats the error?

slate swan
stable leaf
#

i have 1.7.3

exotic maple
#

How do i make the bot create a certain role in a guild such as "Verified" if there's not one at the moment? Much appreciated if i could get some help on this

slate swan
slate swan
#

the default ones wont work

slate swan
#

well, yes they did

#

nice

slate swan
#

All the image related resources are Assets now

stable leaf
slate swan
#

yup

stable leaf
#

my fault

unkempt canyonBOT
#

await create_role(*, name=..., permissions=..., color=..., colour=..., hoist=..., display_icon=..., mentionable=..., reason=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Creates a [`Role`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Role "discord.Role") for the guild.

All fields are optional.

You must have the [`manage_roles`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Permissions.manage_roles "discord.Permissions.manage_roles") permission to do this.

Changed in version 1.6: Can now pass `int` to `colour` keyword-only parameter.

New in version 2.0: The `display_icon` keyword-only parameter was added...
slate swan
shrewd apex
fallow mauve
#

@slate swan does this look right at all?

import discord
from discord.ext import commands
import os
import asyncio
from discord import app_commands

bot = commands.Bot(command_prefix = "; ", intents = discord.Intents.all(), case_insensitive=True)

bot.remove_command("help")

@bot.event
async def on_ready():
  print("Bot Status: ONLINE")


@bot.tree.command()
@app_commands.describe(test='Test Command')
async def test(interaction: discord.Interaction):
    """Test Command"""
    await interaction.response.send_message("Testing")



bot.run(os.getenv("token"))
shrewd apex
#

since u are on 2.0 anyway

fallow mauve
#

instead of run?

heady sluice
shrewd apex
#

have a look at the docs

slate swan
shrewd apex
slate swan
shrewd apex
#

it was a month or two ago when i first started with bots

exotic maple
shrewd apex
#

and then they said dpy dead

#

i stopped and waited for updates

#

now started with 2.0 again

#

ig most people jumped ships when they said dpy was dead

slate swan
shrewd apex
#

just do if not role

fallow mauve
#

im so lost...

slate swan
sick birch
shrewd apex
fallow mauve
sick birch
#

Only thing I'm seeing that's wrong is you need an app_commands.CommandTree instance

fallow mauve
#
import discord
from discord.ext import commands
import os
import asyncio
from discord import app_commands

bot = commands.Bot(command_prefix = "; ", intents = discord.Intents.all(), case_insensitive=True)

bot.remove_command("help")

MY_GUILD = discord.Object(id=981206560481083492)

@bot.event
async def on_ready():
  print("Bot Status: ONLINE")



class MyBot(discord.Client):
    def __init__(self, *, intents: discord.Intents):
        super().__init__(intents=intents)
      
        self.tree = app_commands.CommandTree(self)
    async def setup_hook(self):
      
        self.tree.copy_global_to(guild=MY_GUILD)
        await self.tree.sync(guild=MY_GUILD)




@bot.tree.command()
@app_commands.describe(test='Test Command')
async def test(interaction: discord.Interaction):
    """Test Command"""
    await interaction.response.send_message("Testing")



bot.start(os.getenv("token"))
sick birch
#

And you'd do @tree.command()

sick birch
#

I'm not understanding why you have both a client and a bot

#

If you're using slash commands, you only need client unless you're doing the whole hybrid command shenanigans

shrewd apex
#

async def main():
async with bot:
await bot.start(token)
asyncio.run(main())

fallow mauve
#

ohr

slate swan
sick birch
#

There should be some examples on the github for you

thick basin
#

@vague sparrow this ?

tough lance
fallow mauve
#

im legit banging my head on my deck trying to comprehend this... it hurts to think about it now...

shrewd apex
fallow mauve
shrewd apex
#

ur token lmao

fallow mauve
#

not the env

shrewd apex
#

from the env

#

os.getenv(token)

fallow mauve
#

i put os.getenv(token)) and it didnt work

shrewd apex
#

instead of token

#

what is the error

fallow mauve
#

oh bruh

sick birch
#

Also fwiw your CommandTree doesn't have to be bound to your discord.Client instance

fallow mauve
#

my brain is dead, i forgot the quotation marks

shrewd apex
#

os.getenv('token')

fallow mauve
#

yep

#
Traceback (most recent call last):
  File "main.py", line 19, in <module>
    class MyBot(discord.bot):
AttributeError: module 'discord' has no attribute 'bot'
#
class MyBot(discord.Bot):
    def __init__(self, *, intents: discord.Intents):
        super().__init__(intents=intents)
      
        self.tree = app_commands.CommandTree(self)
    async def setup_hook(self):
      
        self.tree.copy_global_to(guild=MY_GUILD)
        await self.tree.sync(guild=MY_GUILD)
fallow mauve
#

ok that worked

#

now in my command theres smth wrong

shrewd apex
#

i still like normal command better with prefixes

slate swan
#
bot = commands.Bot(command_prefix = "; ", intents = discord.Intents.all(), case_insensitive=True)

bot.remove_command("help")

MY_GUILD = discord.Object(id=981206560481083492)

@bot.event
async def on_ready():
  print("Bot Status: ONLINE")



class MyBot(discord.Client):``` why?????
shrewd apex
#

it's like u type pls anywhere and u know it's dank memer makes your bot unique kinda i suppose

fallow mauve
#
@bot.tree.command()
@app_commands.describe(test='Test Command')
async def test(interaction: discord.Interaction):
    """Test Command"""
    await interaction.response.send_message("Testing")

it says TypeError: unknown parameter given: test

fallow mauve
shrewd apex
#

nah just sharing my opinion

sick birch
#

I don't believe d.py 2.0 is on pip yet so I doubt how useful that's going to be

shrewd apex
#

as a link

shrewd apex
#

git link to clone i use that in heroku

#

discord.py @ git+https://github.com/Rapptz/discord.py

#

like this

tough lance
fallow mauve
#
@bot.tree.command()
@app_commands.describe(test='Test Command')
async def test(interaction: discord.Interaction):
    """Test Command"""
    await interaction.response.send_message("Testing")

where is the unknown parameter "test" that was given?

tough lance
wanton cipher
slate swan
shrewd apex
#

wdym by channels even bot can't see

tough lance
shrewd apex
#

i didn't even know a beta tester channel was there till a guy told me to do ?tester

shrewd apex
fallow mauve
#

@shrewd apex @slate swan @sick birch my bot is actually running but the commands arent showing up on discord

sick birch
#

Did you sync?

slate swan
#

was the bot invited with application commands scope ?
did you sync the command?
was the guild id correct?

sick birch
#

Also get rid of the copy_global_to or whatever it's called

tough lance
#

If it's a global command so it might take some time

sick birch
#

If that overrides them as global commands it can take up to an hour for them to propagate

slate swan
#

๐Ÿ˜ณ it takes no time for it to get added with the new api

#

not sure if dpy uses it

radiant junco
#

do client.event functions run as a thread?

@client.event
async def on_message(message):
  # does this run as a thread?
fallow mauve
#

@slate swan the only one im not sure about is syncing

shrewd apex
fallow mauve
#

pls explain how to sync bcs i dont remember...

slate swan
heady sluice
#

yes

shrewd apex
#

if it's synced it takes upto an hour to load since u got no error it's prolly synced

fallow mauve
shrewd apex
#

for global functions

fallow mauve
#

how do i make it global

shrewd apex
#

idk i haven't used slash commands just speaking from what i have seen or heard

fallow mauve
#

-_-

#

how can i make it global @slate swan

shrewd apex
fallow mauve
#

link?

#

nvm i gotta give my brain a break...

slate swan
slate swan
fallow mauve
slate swan
fallow mauve
#

gtg for a bit b back soon

slate swan
slate swan
slate swan
#

If none is provided?

#

sorry if i sound dumb, I quite didn't understand wym there

stable leaf
#

how do you make a timestamp?
(yes, i am dumb)

slate swan
unkempt canyonBOT
#

discord.utils.format_dt(dt, /, style=None)```
A helper function to format a [`datetime.datetime`](https://docs.python.org/3/library/datetime.html#datetime.datetime "(in Python v3.10)") for presentation within Discord.

This allows for a locale-independent way of presenting data using Discord specific Markdown...
stable leaf
#

?

slate swan
#

thats how you create a timestamp~

stable leaf
#

i don't understand it

#

just put it there and done?

slate swan
#

yeah

stable leaf
#

i have 11 syntax errors

slate swan
#

with a datetime object as the argument

slate swan
stable leaf
#

i want to make a timestamp with datum of the day when he/she executed the cmd

#

format_dt doesn't exists

shrewd apex
slate swan
sick birch
shrewd apex
#

!e

import datetime
Tim = datetime.datetime.utcnow()
print(Tim.timestamp())
unkempt canyonBOT
#

@shrewd apex :white_check_mark: Your eval job has completed with return code 0.

1654106016.028388
sick birch
#

If it's dynamic it changes depending on the person looking at it according to their locale

stable leaf
stable leaf
#

i want it on pillow image

shrewd apex
#

u can change tz info if u want

sick birch
#

Ah okay, in that case use the .strftime() method

stable leaf
#

i used that but it didnt work

sick birch
#

What did you try? How does it not work?

slate swan
# slate swan uhh, thats weird

thats how it works lol, don't you check the logs?
if they were guild specific it logs Processing Application commands for...

stable leaf
#

.strftime('%d, %m, %y')

slate swan
#

its %b for months, i may be wrong

shrewd apex
#

thats date month and year?

stable leaf
#

i know

shrewd apex
#

wait sorry

#

m is for min

stable leaf
#

oh

slate swan
slate swan
#

!e ```py
import datetime
print(datetime.datetime.now().strftime("%d %B or %b %y"))

unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

01 June or Jun 22
slate swan
#

here

#

%B gives you the full Month name, %b is first 3 characters

stable leaf
#

oh thx

shrewd apex
#

there is even a datetime.date

stable leaf
#

i figured that out

#

bcs i had error

slate swan
#

!e ```py
import datetime
print("<t:",datetime.datetime.now().timestamp().int(),":R>")

unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

<t: 1654106320 :R>
slate swan
#

i find this cooler tho

#

<t:1654106320:R>

shrewd apex
#

what's the t and r for

#

and y call dunder instead of just int()

slate swan
shrewd apex
#

oh ok

slate swan
stable leaf
#

how can i use delta?

#

in datetime

slate swan
#

do you mean timedelta?

shrewd apex
stable leaf
slate swan
#

where do you want to use it?

shrewd apex
#

subtract two datetime objs

stable leaf
shrewd apex
stable leaf
#

||||

#

text between

shrewd apex
#

oh ok ||thx||

stable leaf
#

np

slate swan
stable leaf
stable leaf
#

to add 5 years

slate swan
#

you just add it to the datetime

#

!d datetime.timedelta

unkempt canyonBOT
#

class datetime.timedelta(days=0, seconds=0, microseconds=0, milliseconds=0, minutes=0, hours=0, weeks=0)```
All arguments are optional and default to `0`. Arguments may be integers or floats, and may be positive or negative.

Only *days*, *seconds* and *microseconds* are stored internally. Arguments are converted to those units...
slate swan
#

!e ```py
import datetime
print(datetime.datetime.now()+datetime.timedelta(days=365.25))

unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

2023-06-02 00:04:09.425021
stable leaf
#

do i need to use class?

shrewd apex
#

no

stable leaf
#

ok

slate swan
#

๐ŸŒ๏ธโ€โ™€๏ธ just see the example above

shrewd apex
#

lmao u pretty smort for remembering that

slate swan
#

well a day matters

shrewd apex
#

yeah i might say if someone asks but definitely won't remember to use in code

sick birch
#

Just for sub-commands or all commands?

#

Hm

slate swan
#

not the best way but

@group()
async def command (ctx, *, false_arg):
   if ctx.invoked_subcommand is None and false_arg:
      # wrong command
#

i realise that this is the worst code i could type ( based on the spaces)

stable leaf
fallow mauve
slate swan
shrewd apex
#

welp i am gonna go sleep

#

gn

slate swan
#

gunniteee asher

wet crystal
#
await add_roles(*roles, reason=None, atomic=True)

What is the * for before roles?

slate swan
fallow mauve
stable leaf
#

still the same error

slate swan
#

!e ```py
print (*(1, 2 , 3))

unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

1 2 3
slate swan
#

all these arguments are different args instead of a single tuple there

slate swan
wet crystal
#

!e ```py
print ((1, 2 , 3))

unkempt canyonBOT
#

@wet crystal :white_check_mark: Your eval job has completed with return code 0.

(1, 2, 3)
wet crystal
#

alr thanks

slate swan
#

no? read my code again maybe...

slate swan
#

notice the false_arg argument

fallow mauve
#

bcs the command still dont show up

stable leaf
slate swan
#

that basically is triggered only when the subcommand you provide is not a subcommand

stable leaf
#

from datetime import *

slate swan
slate swan
fallow mauve
slate swan
#

you forgot a ,

wet crystal
#

oh

slate swan
wet crystal
#

alright

slate swan
#

and please use #bot-commands for testing stuff, lets keep the chat context full

fallow mauve
stable leaf
slate swan
stable leaf
#

kk

slate swan
ripe blaze
#

is there an event to check when someone starts screen sharing?

slate swan
#

if you now did import datetime you would have to change datetime.now to datetime.datetime.now

#

how to get user input

stable leaf
#

Code
datetime.datetime.now()+datetime.timedelta(days=365*5)

Import
from datetime import *

slate swan
fallow mauve
#

i dont understand this

slate swan
fallow mauve
slate swan
slate swan
#

in discord bot

#

string

slate swan
exotic maple
slate swan
#

!d discord.ext.commands.Bot.wait_for @slate swan

unkempt canyonBOT
#

wait_for(event, /, *, check=None, timeout=None)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Waits for a WebSocket event to be dispatched.

This could be used to wait for a user to reply to a message, or to react to a message, or to edit a message in a self-contained way.

The `timeout` parameter is passed onto [`asyncio.wait_for()`](https://docs.python.org/3/library/asyncio-task.html#asyncio.wait_for "(in Python v3.10)"). By default, it does not timeout. Note that this does propagate the [`asyncio.TimeoutError`](https://docs.python.org/3/library/asyncio-exceptions.html#asyncio.TimeoutError "(in Python v3.10)") for you in case of timeout and is provided for ease of use.

In case the event returns multiple arguments, a [`tuple`](https://docs.python.org/3/library/stdtypes.html#tuple "(in Python v3.10)") containing those arguments is returned instead. Please check the [documentation](https://discordpy.readthedocs.io/en/latest/api.html#discord-api-events) for a list of events and their parameters.

This function returns the **first event that meets the requirements**...
slate swan
#

as in a message

unkempt canyonBOT
#

Here's how to format Python code on Discord:

```py
print('Hello world!')
```

These are backticks, not quotes. Check this out if you can't find the backtick key.

fallow mauve
exotic maple
stable leaf
#

now it works but kinda weird

slate swan
#

yes, and then i want tfo know how to do stuff with the message

slate swan
unkempt canyonBOT
#

discord.on_message(message)```
Called when a [`Message`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Message "discord.Message") is created and sent.

This requires [`Intents.messages`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Intents.messages "discord.Intents.messages") to be enabled.

Warning

Your botโ€™s own messages and private messages are sent through this event. This can lead cases of โ€˜recursionโ€™ depending on how your bot was programmed. If you want the bot to not reply to itself, consider checking the user IDs. Note that [`Bot`](https://discordpy.readthedocs.io/en/latest/ext/commands/api.html#discord.ext.commands.Bot "discord.ext.commands.Bot") does not have this problem.
fallow mauve
#

@slate swan

slate swan
#

repl.it, more like repel it ๐Ÿ˜ฉ

#

Ohhh

fallow mauve
#

bcs someone gave me a link to an example and thats what it showed

slate swan
unkempt canyonBOT
#

examples/app_commands/basic.py lines 10 to 12

class MyClient(discord.Client):
    def __init__(self, *, intents: discord.Intents):
        super().__init__(intents=intents)```
slate swan
fallow mauve
#
class MyBot(commands.Bot):
    def __init__(self, *, intents: discord.Intents):
        super().__init__(intents=intents)
      
    async def setup_hook(self):

      await self.tree.sync()
```?
stable leaf
#

@slate swan when i do the time stamp:
arg1 = datetime.datetime.now().strftime("%y %b %d")

arg2 = datetime.datetime.now() + datetime.timedelta(days=365*5)
first one gives 22-June-01 and the 2nd
2027-05-31 20:19:22:814542 but i want the to be the same

fallow mauve
#

ill run it

#

so how fix?

slate swan
slate swan
stable leaf
slate swan
#

*you, *of

#

python isnt pure english lol and you didnt

fallow mauve
#

okay the code runs fine but the commands still dont show up

wet crystal
#

Adding roles

So I have a Role Object called mROBJ and I want to add only mROBJ to the ctx.author how can I do that?

!d discord.Member.add_roles

fallow mauve
#

in dms too?

unkempt canyonBOT
#

await add_roles(*roles, reason=None, atomic=True)```
This function is a [*coroutine*](https://docs.python.org/3/library/asyncio-task.html#coroutine).

Gives the member a number of [`Role`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Role "discord.Role")s.

You must have the [`manage_roles`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Permissions.manage_roles "discord.Permissions.manage_roles") permission to use this, and the added [`Role`](https://discordpy.readthedocs.io/en/latest/api.html#discord.Role "discord.Role")s must appear lower in the list of roles than the highest role of the member.
stable leaf
fallow mauve
#

when i used discord-py-slash-command package for them it worked immediately in dms

slate swan
#

subcommand not in

and if you arent new then...

stable leaf
fallow mauve
#

bcs it doesnt

slate swan
wet crystal
#

Adding roles

So I have a Role Object called mROBJ and I want to add only mROBJ to the ctx.author how can I do that?

!d discord.Member.add_roles

stable leaf
slate swan
#

POV: you have to restart the client

#

global slash commands do get registered in dms, if they don't for you, your bot hates you

slate swan
fallow mauve
#

ok switched to guild, how will i know if they load?

#

but it doesnt show up on discord, you cant use a slash command if it doesnt show on the slash command list

#
class MyBot(commands.Bot):
    async def setup_hook(self):
        await self.tree.sync(guild=discord.Object(981206560481083492))
```?
stable leaf
slate swan
#

I said the same thing 5 minutes ago...

slate swan
stable leaf
# slate swan uh

i am a kid who just learned to speak english
i understand almost nothing

fallow mauve
#

i own the server

slate swan
#

!e ```py
import datetime
print((datetime.datetime.now()+datetime.timedelta(days=365.25)).strftime("%B %y"))

unkempt canyonBOT
#

@slate swan :white_check_mark: Your eval job has completed with return code 0.

June 23
slate swan
#

best example i could give

fallow mauve
#
import discord
from discord.ext import commands
import os
import asyncio
from discord import app_commands

bot = commands.Bot(command_prefix = "; ", intents = discord.Intents.all(), case_insensitive=True)

bot.remove_command("help")

MY_GUILD = discord.Object(id=981206560481083492)

@bot.event
async def on_ready():
  print("Bot Status: ONLINE")


class MyBot(commands.Bot):
    async def setup_hook(self):
        await self.tree.sync(guild=discord.Object(981206560481083492))





@bot.tree.command()
async def test(interaction: discord.Interaction):
    """Test Command"""
    await interaction.response.send_message(f'Testing')



async def main():
  async with bot:
    await bot.start(os.getenv("token"))
asyncio.run(main())
slate swan
#

the bot brooo

#

defined twice

#

once*

slate swan
slate swan
#

pBear ik someone was gonna ask that for sure thats why mentioned the .25 there explicitly

#

Idk why I'm just saying nonsensicle things rn

stable leaf
#

@slate swan thx so much

slate swan
#

yw

slate swan
#

you can always just overwrite the coroutine

slate swan
#

but it would be better if you subclass the Bot class

#

yep yep

fallow mauve
#

ok it runs fine but the command still does not appear in discord

maiden fable
#

Wait so when is the setup_hook function called?

stiff fern
#

What is like the ultimate guide for discordpy information and everything because I only find little snippets of information here and there

#

Or wiki

slate swan
fallow mauve
#
import discord
from discord.ext import commands
import os
import asyncio
from discord import app_commands




class MyBot(commands.Bot):
    async def setup_hook(self):
        await self.tree.sync(guild=discord.Object(981206560481083492))

bot = MyBot(command_prefix="; ", intents=discord.Intents.all(), case_insensetive=True, help_command=None)




@bot.event
async def on_ready():
  print("Bot Status: ONLINE")


@bot.tree.command()
async def test(interaction: discord.Interaction):
    """Test Command"""
    await interaction.response.send_message(f'Testing')



async def main():
  async with bot:
    await bot.start(os.getenv("token"))
asyncio.run(main())
maiden fable
slate swan
maiden fable
#

How do u even sync the commands before getting ready

#

Weird

slate swan
maiden fable
#

Okay, guess I got some homework to do on REST APIs

#

!d discord.utils.format_dt is better

unkempt canyonBOT
#

discord.utils.format_dt(dt, /, style=None)```
A helper function to format a [`datetime.datetime`](https://docs.python.org/3/library/datetime.html#datetime.datetime "(in Python v3.10)") for presentation within Discord.

This allows for a locale-independent way of presenting data using Discord specific Markdown...
slate swan
#

both of the properties return datetime.datetime object, so use the strftime method on it

#

joined_at.strftime(...)

slate swan
maiden fable
#

I haven't even read the new API docs on slash commands or how libs handle those

fallow mauve
#

how can i get the length of an argument within a command? like in javascript you can use whatever.lenghtOf how do i do it in python

slate swan
slate swan
#

ยฏ_(ใƒ„)_/ยฏ

maiden fable
slate swan
#

no

maiden fable
#

Messages are sent via the HTTP API so u can send those

slate swan
#

yup

#

the "dont do anything in on_ready" phrase ๐Ÿšถโ€โ™‚๏ธ L

maiden fable
slate swan
#

its not that bad its just not really recommended

fallow mauve
#

no errors but it doesnt help

maiden fable
#

Well u can still send the HTTP Requests in on_ready. Worse case scenario: The request is gonna sent twice, but eh, no one cares (at least I don't)

slate swan
#

you need to format the datetime using .strftime(" a formatting string")

slate swan
slate swan
#

on_ready gets dispatched on cache setup/population

#

andy back me upshipit

pliant gulch
#

Because Context type is a Generic, you can just do commands.Context[Any] as a temporary fix

#

Or you could use the Bot type, thatโ€™ll probably work. Since the TypeVar is BotT

pliant gulch
pliant gulch
slate swan
#

๐Ÿ™

hidden snow
#

hey how hard is it to code a discord bot? how much experience should somebody have before attempting

pliant gulch
#

I feel like it was the wrong choice to make the names like this, but not a huge deal

slate swan
#

so on_ready is always launched after on_connect right?

unkempt canyonBOT
#

discord/state.py line 516

async def _delay_ready(self) -> None:```
slate swan
#

on_connect mostly gets triggered first yes

#

from personal experience!

unkempt canyonBOT
#

discord/state.py lines 585 to 586

self.dispatch('connect')
self._ready_task = asyncio.create_task(self._delay_ready())```
slate swan
#

yep sure

slate swan
slate swan
#

ok mr๐Ÿ™„

pliant gulch
#

If weโ€™re gonna go technical, youโ€™d receive HELLO first; but discord.py doesnโ€™t expose that

slender flame
#

Why doesnt this work?

slate swan
#

the id must be an int and that function can be vulnerable to a NoneType error

slender flame
#

I know

#

i had it with id but it doesnt work

slate swan
#

describe doesnt work

slender flame
#

huh

#

?

maiden fable
#

No

fallow mauve
#

within bot.load_extension("utility") how do i change this if the file is in a folder

formal basin
#

How can i make a command that deletes a certain dump with the guild id in a json file

fallow mauve
#

use smth like sqlite

#

theyre made for databases

heavy shard
slate swan
#

you can just send a normal message if you want to

#

!d discord.Interaction.channel

unkempt canyonBOT
slate swan
#

and use .send on this

tough lance
#

Also you would want to defer the interaction

radiant junco
#

My bot is taking a long time to to start running code from async def on_message(message). I have checked the runtime of the message processing and command processing, both of which are under a second but when i time how long it takes for the bot to respond, its about 5 seconds which means that the bot takes about 3 seconds until it starts running code after it detects a message

sick birch
#

If you put a print() as the first thing in on_mesage like this:

@bot.event
async def on_message(message):
  print("Recieved new message")
  ...

Does that print instantaneously after sending a message in discord?

radiant junco
#

i also have this:

sick birch
#

Did you send a message instantly after you ran the bot?

radiant junco
#

no i waited until async def on_ready():

sick birch
#

Oh you have a print there I assume?

radiant junco
#

the bot sends that

sick birch
#

And you sent a message after you saw that

radiant junco
#

that's just a command

#

to check how fast it is

sick birch
#

Right, I'm asking did you wait until the bot was fully ready before sending the message?

radiant junco
#

yea

#

i print the client when its ready

#

i just sent a message after that

#
@client.event
async def on_ready():
  print(client.user)
sick birch
#

Hmmm that's odd

#

Maybe turn on logging to see where things are getting stuck?

radiant junco
sick birch
#

I can tell, try turning on logging to see what's going on

exotic maple
#

How do i put multiple values into a library from one variable?

sick birch
#

Can you specify?

exotic maple
#

Example

one = What im getting all my values from
for x in one:
    test = x.name
    library = [test]```
#

Is what i got at the moment, but test has multiple values (Words) that i want to be put into the library

sick birch
#

Oh you want all of x.name to be into the library list?

exotic maple
#

Yes

sick birch
#
one [...] # your stuff
library = [x.name for x in one]
exotic maple
#

but as words, bcuz at the moment it just does ['MYVALUE'] when printing it

radiant junco
#

its logged down the message at the correct time ish

exotic maple
#

Oh lemme try

sick birch
radiant junco
#

yea

sick birch
#

Can I see your entire code?

radiant junco
#

but its not the code runtime because i log that

radiant junco
sick birch
#

Alright, how about just the on_message?

exotic maple
radiant junco
#

because of intents

fading kestrel
#

I am trying to write a program for my sell command in my economy bot so that when a user sells the item, I want to delete the json object from their inventory. For instance, if they sold one piece of bread and the item's amount equaled to 0, then it would just delete that whole object. Here's a screenshot:

#

id is just replaced for the actual user id, for security purposes.
Can someone help me with this?

slate swan
pliant gulch
sick birch
plucky knoll
# fading kestrel

In your sell command add an if statement to check if inv[index]['amount'] is 0, if true; pop the item using it's index.
Ex: inv.pop(0) and finally re-write the file.

pliant gulch
sick birch
#

Are you hosting on replit?

#

Okay, any awaits inside loops?

#

Anything like this:

for ...:
  await ...
#

Or

while ...:
  await ...
#

Can I see it?

#

Is that in a command?

#

And did you get rate limited when running that command?

#

Strange, can you post the full traceback?

pliant gulch
#

Are you hosting this bot at all? Or is this self hosted

#

Mmm, it could totally be that then, depends on the service

#

If itโ€™s free youโ€™ll most likely be in a shared container. So the IP caveat applies

sick birch
#

Ah yeah I should've mentioned that

rare saddle
#

Why can't find the file?

pliant gulch
#

Ok, but considering pterodactyl, Iโ€™m almost 100% sure this is all in a shared container

#

If you have contact with your host provider you should ask if itโ€™s a private or shared container

#

Thatโ€™ll let you know for real

#

Or, unless they lie

#

#discord-bot-hosting

#

In the pins^

mighty anchor
#

Hey im trying to make a discord bot loop through all the members in a server and check to see if they sent a message if so it prints User has sent a message and if not it prints user did not send a message. Can someone help

sick birch
#

If you're already paying for your current one, your options are much more varied

rocky trench
#

That isn't possible

#

Welp, must've been a weird method then cuz as far as I know it isn't possible

pliant gulch
#

You can

rocky trench
#

How'd u do that?

#

A for loop to run bot tokens?

sick birch
#

Maybe just create_task for the first bot, await the 2nd await bot.start()

rocky trench
#

Or Threading

pliant gulch
#

Yea you use create_task

sick birch
#

That's probably the better way yeah

mighty anchor
#

Hey im trying to make a discord bot loop through all the members in a server and check to see if they sent a message if so it prints User has sent a message and if not it prints user did not send a message. Can someone help

pliant gulch
#

I wouldnโ€™t thread here

#

Which isnโ€™t thread safe

sick birch
#

Mm

#

That's fair

pliant gulch
#

And keep in mind the main meat and bones of the ratelimit handling system is the Lock

rocky trench
sick birch
#

The real question here is do you really want to run multiple bots in the same file

#

(hint: the answer is no)

rare saddle
#

How to get value in US key?

visual island
#

x["container"]["US"], index it, no need for a for loop

rare saddle
rocky trench
#

Dumb question, is there a way to get the key by the value in a dict as well?

visual island
#

No

rocky trench
#

I've always wondered about it and never saw something like this in basics years ago

visual island
#

There's no built-in way but you can, iter through dict.items() and check if value equals to what you're expecting then just return the key

stiff fern
#

Anyone know how to get pass this issue?

#

Im trying to put my bot on the cloud so I can have it run but the tutorial im following has me doin something with github but its having an error working

keen mural
#
class Dropdown(discord.ui.Select):
    def __init__(self):

        options = [
            discord.SelectOption(label='Currency Help', description='Displays all of the currency commands', emoji='![coin](https://cdn.discordapp.com/emojis/975905848578682922.webp?size=128 "coin")'),
            discord.SelectOption(label='Moderation Help', description='Displays all of the moderation commands', emoji='![moderation](https://cdn.discordapp.com/emojis/971208560732164116.webp?size=128 "moderation")'),
            discord.SelectOption(label='Utility Help', description='Displays all of the utility commands', emoji='![giveawaywinner](https://cdn.discordapp.com/emojis/970186253591011388.webp?size=128 "giveawaywinner")'),
        ]

        super().__init__(placeholder='Select Help Commands', min_values=1, max_values=1, options=options)

        embed1 = discord.Embed(....)

    async def callback(self, interaction: discord.Interaction):
        await interaction.response.send_message(f'Your favourite colour is {self.values[0]}', ephemeral=True)```
im trying to send a corresponding embed instead of `Your favourite colour is {self.values[0]}`, how could i do that?
stone beacon
#

Create an embed and pass it as a Kwarg to send?

#

Just like how you normally do it

keen mural
brazen trench
#

Is the "discord" not outdated?

keen mural
#

its not

brazen trench
#

It seems that it no longer works and you need to use nextcord

keen mural
#

no

stone beacon
keen mural
#

or you mean for the dropdown

brazen trench
#

Ok...

stone beacon
#

Well create one and pass it as a argument in your send_message command

#

Just as how you do interaction.send(embed=Embed)

keen mural
#

ok but i want a different embed per different select option

stone beacon
#

Uhh

#

U want an embed created when the person selects something?

keen mural
#

yes

#

like different one for each select option

stone beacon
#

If so then simply create the embed in the callback and add their selected choice as an embed field

keen mural
#

how would i

brazen trench
#

Lol, just send embed and then something else

stone beacon
#

The callback function is called when the person selected something. Just embed = Embed(), embed.add_field(name=Foo,value=bar)
Then .send(embed=embed)

keen mural
stone beacon
#

Oh I'm a fool

brazen trench
#

channel.send(embed=yourEmbed, somethingElse=...) maybe so?

stone beacon
#

Wack docs

#

I don't use d.py either way

keen mural
#

found a way

#

if self.values[0] == "Currency Help":

#

and so on

slate swan
brazen trench
#

I'm forgot

brazen trench
keen mural
brazen trench
# keen mural yes

That's right. I'm sorry, I confused the libs. This won't work on nextcord :)

keen mural
#

ye nextcord is different

brazen trench
#

I wouldn't say thaq

#

what*

slate swan
#

only nextcord v3 is going to be different

#

nextcords implementation on slash commands is different compared to dpy but similar to disnake

brazen trench
slate swan
#

v3 is not even usable yet so...

#

"is going to be different"

#

soon ig when epic actually does something with it๐Ÿ˜”

brazen trench
#

Is it possible to swear here?

slate swan
#

the owner yes

slate swan
slate swan
slate swan
#

cant

brazen trench
#

OK, then I'll tell you the "Don't fuck with my brain"

slate swan
#

epic hasnt made the repo public ๐Ÿ˜ก

#

sometimes in future

brazen trench
slate swan
#

its not like I'll migrate from hikari to nextcord again

brazen trench
#

Why*

slate swan
slate swan
slate swan
#

its fine!

brazen trench
#

Probably

slate swan
#

shipit nvm thats a stupid question, how do we even define major

#

ive only seen a list of api wrappers which bluenix made which isnt only forks

brazen trench
slate swan
brazen trench
#

You're a genius, first you say that nextcord is different from discord.py and then you say they're the same. Or is it that I have such a crooked translator

slate swan
#

pycord ๐Ÿ’€

#

i saw this and couldn't resist looking into the comments

slate swan
#

nextcord v3 isnt ;))

brazen trench
slate swan
brazen trench
#

code is poorly written ๐Ÿ’€

slate swan
brazen trench
#

Is this the first time I've heard of PyCord?

slate swan
slate swan
brazen trench
#

0_0

slate swan
sick birch
brazen trench
#

Maybe I forgot something. I haven't coded for python for more than half a year

brazen trench
slate swan
#

pBear a discussion between pycord is the best fork vs pycord code bad ppl

pliant gulch
sick birch
slate swan
#

andy chill jesus christ

slate swan
#

๐Ÿ’€

pliant gulch
#

You know not even gonna lie

#

Iโ€™ve had a few attempts to revive it now

pliant gulch
#

Havenโ€™t committed a single implementation but it exists I assure you

slate swan
#

pQuack but i like it more than pycord's existing stage :kek:

pliant gulch
#

๐Ÿ˜”

brazen trench
slate swan
#

like i dont see your badge ๐Ÿ˜ญ

slate swan
pliant gulch
slate swan
#

the hell is that?

sick birch
visual yarrow
#

Indeed ๐Ÿคจ

slate swan
#

๐Ÿ˜ณ

slate swan
sick birch
#

Did.. someone delete a message here?

brazen trench
slate swan
brazen trench
slate swan
#

ive actually never heard of them

sick birch
#

We're breaking the 4th wall now are we

pliant gulch
#

I remember joining hella GW emoji servers cause I didnโ€™t want to buy nitro

brazen trench
#

I don't even know who it could be

slate swan
brazen trench
sick birch
#

Dunno, something like "I see you mods" and deleting it

slate swan
#

yep, there are only 9-10 of them on me though

#

so its like binded to your account?

#

no you just join the server and use the allowed global emojis normally

slate swan
pliant gulch
#

Jets world or something

#

Thatโ€™s one of the big ones I remember

slate swan
#

interesting

#

so anyone can access them still?

#

yea that was a big one, and the one i sent just now was one from "Love gaming" thats a smol Server idk how they have it

slate swan
brazen trench
#

After that, everyone fell silent... Lol

slate swan
brazen trench
#

XyiloCordFlashbaks

#

Huh

#

After that, everyone fell silent... Lol

#

Okay, I'm going to sleep, bye for everyone

stiff fern
#

Do I need to include a json file when using heroku

#

becuase it says "No default language could be detected for this app."

#

I dont know if Im missing somethin or waht

slate swan
#

do you have a procfile?

stiff fern
stiff fern
stone beacon
#

Nah it's just a thread

vital glacier
#

Does anyone know how to create embed with this:

{content: This is the content part}{embed}{title: This is the embed title}$v{description: This is an embed description}$v{url: https://discord.gg}$v{author: Author Name && https://cdn.discordapp.com/icons/980316232341389413/205c8c67f07e1bd41c186533e9de4f01.png?size=1024 && https://discord.gg}$v{field: This is the field title && This is the field description && true}$v{thumbnail: https://cdn.discordapp.com/icons/980316232341389413/205c8c67f07e1bd41c186533e9de4f01.png?size=1024}$v{image: https://cdn.discordapp.com/icons/980316232341389413/205c8c67f07e1bd41c186533e9de4f01.png?size=1024}$v{footer: This is the footer && https://cdn.discordapp.com/icons/980316232341389413/205c8c67f07e1bd41c186533e9de4f01.png?size=1024}$v{color: #0062ff}$v{button: This is a button && https://discord.gg}

The output is this:
https://tokyotokyotokyotokyo.tokyo/โ€‹โ€Œโ€‹โ€‹โ€Œโ€‹โ€Œโ€Œโ€‹โ€Œโ€Œโ€‹โ€‹โ€Œโ€Œโ€‹โ€‹โ€‹โ€Œโ€Œโ€‹โ€‹โ€‹โ€‹โ€‹โ€Œโ€‹โ€‹โ€‹โ€Œโ€Œโ€Œโ€‹โ€Œโ€Œโ€Œโ€‹โ€Œโ€‹โ€Œโ€‹โ€‹โ€Œโ€Œโ€‹โ€Œโ€Œโ€‹โ€‹โ€Œโ€Œโ€Œโ€‹โ€‹โ€Œโ€Œโ€‹โ€Œโ€Œโ€‹โ€Œโ€Œโ€Œโ€‹
(it's basically an embed builder so people can do custom embeds for certain things)

flint isle
#

@sick birch i found that the firebase realtime databases are json...

sick birch
#

Yes, most NoSQL databases resemble JSON in some way or another

flint isle
sick birch
#

AWS RDBMS

slate swan
#

use this class with suitable methods and values

#

ah, a custom embed

flint isle
sick birch
#

You'll probably want to use their calculator to roughly estimate cost

flint isle
sick birch
#

PostgreSQL, used heavily in the industry. Standard & robust

flint isle
flint isle
sick birch
#

I actually have no idea what AWS RDBMS uses behind the scenes :p

#

Actually looks like I'm confusing myself

#

RDBMS is the management system, RDS is the actual database service

sick birch
flint isle
#

whats the one thats hosted by the devs of opera

sick birch
#

Not sure, never heard of it

flint isle
#

it was oracle

slate swan
#

Can bots send code blocks?

sick birch
flint isle
#

ooh they have sql databases

slate swan
sand sun
#

What are some good ways to grow my bot and promote it? I know there are people that might want my bot and I know the target audience. Just not sure how to get to people easily...

shrewd apex
#

good morning!!

shrewd apex
flint isle
#

uhhh @sick birch. should i just self host my database? the mess that orcale has me going though has lost me

sand sun