#discord-bots

1 messages · Page 613 of 1

woeful crow
#

ty

slate swan
#

Not really🤷‍♂️

#

so what should be the first thing i do?

#

you couldn't be any more wrong

#

I suggest learning about dpy first

#

and python itself

#

unfortunately that is not what i am looking for. thank you though!

slate swan
cloud dawn
slate swan
#

Ctrl c and ctrl v

sullen shoal
#

like what will you even code without knowledge of the language

slate swan
sullen shoal
#

thats why we need to know the language

cloud dawn
slate swan
slate swan
#

Learn python first lemonpeek

cloud dawn
slate swan
slate swan
#

i just wish to do a simple thing, thats all

slate swan
sullen shoal
#

never said you need to get a master degree of python

slate swan
#

^^

cloud dawn
#

Could you guys please stop arguing and calling him out?

slate swan
#

Ik this is rlly simple lol but for some reason i cant get what im doin wrong ive done images with embeds never regular thats y im lost

#

You have to know everyone here doesnt know python completely but are very good and knowledgeable of itlemonpeek

forest spear
#

So I put everything in db.put() correctly and user outside the curly brackets but in the function but it shows bad request error can you help?

slate swan
#

You cant learn pyhon completlylemonpeek

brittle ingot
#

i suggest a quick read of this

slate swan
#

What's this?

#

why do i have to log in for a command interface MonkaHmm

forest spear
#
data.put({"name":username,"time":time,"quote":message},user)```
cloud dawn
slate swan
#

oh well

brittle ingot
#

either way you still have to log in.

slate swan
forest spear
slate swan
#

i'll assume its just clone a rep

slate swan
sullen shoal
slate swan
#

auth failed MonkaHmm

slate swan
#

what should i do here exactly? can't clone

cloud dawn
sullen shoal
#

i dont see a way to help this person, this server is about the people who are learning python, what she wants is "learning discord.py" now how do we help her with it?

slate swan
slate swan
forest spear
# sullen shoal convert it to a string and try

That seems to work but my command to show quote doesn't here is the code

@client.command()
async def showquote(ctx, discord_id:int=None):
    res = data.get(discord_id)
    embed= discord.Embed(title="Quotes", color=0x00FFFF)
    for item in res.items:
        yes2 = item["time"]
        yes1 = item["name"]
        yes3 = item["quote"]
        embed.add_field(name=f"{yes2}", value=f"Quote by:{yes1}\nQuote:{yes3}", inline=True)
    await ctx.send(embed=embed) 
slate swan
slate swan
slate swan
sullen shoal
forest spear
cloud dawn
slate swan
#

git is used from the command line

slate swan
#

which link 🤔

sullen shoal
brittle ingot
#

Im not calling anyone out. I do read that frequently to remind myself of the beliefs of the community. I remember coming in here the first time being fully aware of my deficiencies in the language and intimidated by the sheer knowledge this server's members contain. 😅 || still intimidated, tbh lmao||

slate swan
#

how to make cooldown reset on command groups?

slate swan
slate swan
#

i've never used that personally

#

i always use the CLI

#

how do i make cooldown reset on group command```py
@cryptomine.command(aliases = ["i"])
@commands.cooldown(1,150,commands.BucketType.user)
async def idle(ctx)

await ctx.reply(embed = buyem)
idle.reset_cooldown(ctx)

#

Is Atom good?

#

or how do i do that

#

for the copy pasting

cloud dawn
#

Your IDE has nothing to do with cloning.

slate swan
forest spear
slate swan
#

Do i start copying from here?

sullen shoal
#

show the updated code

#

@forest spear

forest spear
#
@client.command()
async def showquote(ctx, discord_id:str=None):
    res = data.get(discord_id)
    embed= discord.Embed(title="Quotes", color=0x00FFFF)
    for item in res.items:
        yes2 = item["time"]
        yes1 = item["name"]
        yes3 = item["quote"]
        embed.add_field(name=f"{yes2}", value=f"Quote by:{yes1}\nQuote:{yes3}", inline=True)
    await ctx.send(embed=embed) 
daring olive
sullen shoal
brittle ingot
slate swan
#

so i'm just trying to figure out which parts to copy

woeful crow
#

How can i set a timeout for my wait_for?

forest spear
brittle ingot
#

okay, so its a package and comes with a prebuild. You can follow set instructions in the docs that will help you get everything you need installed (i would explain it myself but it would get extremely confusing real quick 😂 ) let me get the exact link for you 😄

slate swan
#

Sure thank you very much!

sullen shoal
slate swan
brittle ingot
slate swan
forest spear
slate swan
slate swan
sullen shoal
unkempt canyonBOT
#

@sullen shoal :white_check_mark: Your eval job has completed with return code 0.

001 | {'hello': 'world'}
002 | <built-in method items of dict object at 0x7f914b426a40>
003 | dict_items([('hello', 'world')])
cloud dawn
valid niche
slate swan
#

time2 = datetime.now().strftime("%p") how can i find days?

#

what does python3 -m pip install -U discord.py do in the first place? i'd like to know what im doing before typing anything in cmd

slate swan
unkempt canyonBOT
slate swan
#

is days %d

slate swan
cloud dawn
slate swan
#

so i haven't touched any of the parts i was given

sullen shoal
valid niche
slate swan
#

how can i subtract 30 days from today?

valid niche
woeful crow
#

How can i set a timeout for my wait_for reaction_add?

sullen shoal
#

!d datetime.timedelta

valid niche
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
forest spear
slate swan
#

thanks ill try that out

#

oh god

#

lot of things happened

#

that can work with premium_since right

valid niche
slate swan
#

member.premium_since(subtracted)

slate swan
slate swan
brittle ingot
#

you successfully installed it

sullen shoal
slate swan
#

so now that we got python, what should the next step be?

slate swan
#

uhhh yeah that

brittle ingot
#

so you have python and discord.py, do you have a code editor?

forest spear
# sullen shoal again you have to show the code
@client.command()
async def showquote(ctx, discord_id:int=None):
    res = data.get(discord_id)
    embed= discord.Embed(title="Quotes", color=0x00FFFF)
    for item in res.items():
        yes2 = item["time"]
        yes1 = item["name"]
        yes3 = item["quote"]
        embed.add_field(name=f"{yes2}", value=f"Quote by:{yes1}\nQuote:{yes3}", inline=True)
    await ctx.send(embed=embed) 
slate swan
slate swan
# slate swan no

then should i do member.premium_since(now - relativedelta(days=30))?

slate swan
slate swan
brittle ingot
#

oh wow N++ i don't think i've ever used that 😂

slate swan
#

member.premium_since - relativedelta(days=30)

#

oh i'll check it out then!

#

OHHHH

#

that makes more sense

#

MonkaHmm cant seem to see it

slate swan
sullen shoal
unkempt canyonBOT
#

@sullen shoal :white_check_mark: Your eval job has completed with return code 0.

001 | 1
002 | 2
slate swan
slate swan
#

@slate swan do you want to learn dpy or do you just want to get spoobfeeded?

#

If there was a tutorial on how to do a remind me function, i'll gladly learn with that

sullen shoal
slate swan
#

!e ```py
x = dict(one=1, two=2)
for key, value in x.items():
print(f'the key is: {key}\nthe value is: {value}\n\n\n')

forest spear
# sullen shoal again you have to show the code

Uhh this is something new I just saw it's overwriting the data like it's not making new field just writing on the data that was already there it makes new fields for others but if you have a new quote to add it would just overlap the last one

unkempt canyonBOT
#

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

001 | the key is: one
002 | the value is: 1
003 | 
004 | 
005 | 
006 | the key is: two
007 | the value is: 2
slate swan
#

💀

#

actually i found one i'll check this one out marithink https://www.youtube.com/watch?v=tQvzuVQPNyQ

In this video of Discord.py Advanced, I will teach you how to make a remind command.

Make sure to join the Discord if you need help with anything Discord.py related! https://discord.gg/N9Hdcz6r5W

Function code:
def convert(time):
pos = ['s', 'm', 'h', 'd']

time_dict = {"s": 1, "m": 60, "h": 3600, "d": 3600*24}

unit = time[-1]

if unit no...

▶ Play video
sullen shoal
forest spear
sullen shoal
#

what youre looking for then is a list of dict

forest spear
#

Yeah

sullen shoal
#

it should append to a list

slate swan
sullen shoal
# forest spear Yeah

instead of going through all this pain, you could keep the dict like this,

{unix_time:{}, unix_time_2:{}}```
#

and limit the command to be used once in a sec

#

using cooldowns

forest spear
sullen shoal
#

items() returns a list of tuple, each tuple's first value is the key and second value is the value of the key

#

item is (key, value)

slate swan
#

any way to see what the cmd window says on an unsuccessful bot bootup?

slate swan
#

closes too quickly for me to read

sullen shoal
#

run in the terminal/cmd

slate swan
#

how can i run a py through cmd? i always just clicked on it to run it

sullen shoal
#

cd to the path, then py bot.py

slate swan
#

did not like that

sullen shoal
#

try python

#

oh

#

you didnt cd to the path

slate swan
#

cd? i thought you meant just copy paste the path

sullen shoal
#
> cd path/to/the/folder
> py bot.py```
slate swan
#

Syntax wrong

sullen shoal
#

cant really read that

slate swan
#

I have a variable How can I get that variable somewhere else?
Example:

while True:

  if lol:
    msg = await ctx.send("this is a test")
  elif lel:
    await msg.delete()```
sullen shoal
#

set it as an sttribute of the Bot instance

slate swan
sullen shoal
slate swan
sullen shoal
slate swan
sullen shoal
forest spear
slate swan
sullen shoal
slate swan
#

What does that exactly do?

#

think i found it

sullen shoal
forest spear
#

Yeah I put dict as data.get(dict(discord_id)) still doesn't work

slate swan
sullen shoal
slate swan
#

wait is that seriously the problem

sullen shoal
slate swan
sullen shoal
slate swan
velvet tinsel
#

I need a name for a bot

slate swan
velvet tinsel
slate swan
#

Well yea?

velvet tinsel
#

Wait nvm

slate swan
#

had a lot of issues but this is the first one i can't figure out . Any idea? formatting looks the same as in the tutorial

sullen shoal
#
bot.name_of_the_attr = msg
print(bot.name_of_the_attr)```
@slate swan
slate swan
#

oh yeah my bad. what would i need to modify again?

velvet tinsel
#

Try creating a async function for it

#

Probably the long way around im terrible at shortcuts

slate swan
#

there's one at the top

velvet tinsel
#

You have to do async def convert

sullen shoal
#

the code theyre showing isnt even the actual code that is causing the error

slate swan
#

@sullen shoal Yesss it worked!! Thanks

slate swan
#
    @commands.command()
    async def remind(self, ctx, time, task):
        def convert(time):
            pos = ['s', 'm', 'h', 'd']

            time_dict = {"s": 1, "m": 60, "h": 3600, "d": 3600*24}

            unit = time[-1]

            if unit not in pos:
                return -1
            try:
             val = int(time[:-1])
            except:
                return -2

            return val * time_dict[unit]

            converted_time = convert(time)

            if converted_time == -1:
                await ctx.send("Incorrect time format")
                return

            if converted_time == -2:
                await ctx.send("Intiger time")
                return
            await ctx.send(f"Started reminder for **{task}** and will last **{time}**.")

            await asyncio.sleep(converted_time)
            await ctx.send(f"{ctx.author.mention} your reminder for **{task}** has finished")
velvet tinsel
#

Yeah you have to do async def convert

slate swan
#

did exactly the same as the tutorial Thonk

velvet tinsel
#

You may have to do async def convert

sullen shoal
#

you didnt

velvet tinsel
slate swan
#

i'm just writing it from the video to get a better grasp

sullen shoal
forest spear
sullen shoal
#

tbh i never saw that error

velvet tinsel
slate swan
#

so would this be correct?

forest spear
velvet tinsel
#

That looks like the same exact thing

velvet tinsel
slate swan
sullen shoal
#

doesnt the tutorial youre following include the entire thing they did in the description

#

compare it with your own

slate swan
#

only a snipper

velvet tinsel
#

There should be a GitHub

slate swan
velvet tinsel
#

When creating a economy bot I compared my code to his if I experienced any errors

sullen shoal
#

so youve decided to jump straight to the advanced ones i see

velvet tinsel
#

It was a super helpful technique, everything working well

slate swan
velvet tinsel
forest spear
#

From Google it just says dict() doesn't like str and deta doesn't like int so any help

velvet tinsel
#

Refrain from copying and pasting. They don’t solve any errors.

slate swan
#

uh okey i wont copy paste

sullen shoal
#

unfortunately that bad tutorial didnt bother to include the code

velvet tinsel
velvet tinsel
#

At least share code on GitHub or something lemon_sentimental

slate swan
#

but it only works for seconds when i want a true reminder

velvet tinsel
#

I just need a name for an economy bot my creativity is a size of a peanut

forest spear
velvet tinsel
#

I do not understand discord

slate swan
slate swan
#

and in 5h 30m it pings me to say

@slate swan Bake beans

sullen shoal
velvet tinsel
slate swan
forest spear
brittle ingot
#

Bruhh that’s my tutorial….

#

||just kidding||

slate swan
#

lmaoooo

brittle ingot
#

!d date time

unkempt canyonBOT
#

date

For datetime fields, casts the value as date. Allows chaining additional field lookups. Takes a date value.

Example:

Entry.objects.filter(pub_date__date=datetime.date(2005, 1, 1))
Entry.objects.filter(pub_date__date__gt=datetime.date(2005, 1, 1))
```  (No equivalent SQL code fragment is included for this lookup because implementation of the relevant query varies among different database engines.)...
slate swan
#

none of the tutorials seem to help though

brittle ingot
#

Oop autocorrected

#

!d datetime

unkempt canyonBOT
#

Source code: Lib/datetime.py

The datetime module supplies classes for manipulating dates and times.

While date and time arithmetic is supported, the focus of the implementation is on efficient attribute extraction for output formatting and manipulation.

normal ginkgo
#

How do I make a command to add, remove things?

slate swan
brittle ingot
sullen shoal
normal ginkgo
#

Strings

#

Like a list of strings

sullen shoal
#

check out the list methods. it depends on what youre trying to do

normal ginkgo
#

Example:
!add hello

slate swan
normal ginkgo
#

Then when I do !list it shows hello

sullen shoal
slate swan
#

but it should work, right?

sullen shoal
#

if he has the confidence to upload it on youtube, it should work

#

although not the best practice

forest spear
#

Sorry but can no one help with my issue?

velvet tinsel
slate swan
#

that's good enough for me. I can make a better one when i'll have a good grasp on python

sullen shoal
#

its not good to start with bad practices

slate swan
#

I agree but i'm stuck between a rock and a hard place, so i'd just like to get this method out of the way first

#

i just wanna know why it doesnt work PepeHands

pliant gulch
#

It uses asyncio.sleep, if the bot restarts it will cancel the unmute process making the user muted forever

#

And they are hosting on repl.it which isn't recommened

#

And after watching a bit of the youtube link you sent, I can see they barely understand it

slate swan
pliant gulch
#

The code they show off it copy pasted as well seems like??

#

The time conversion part at least..

sullen shoal
slate swan
#

aight i'll type that in

#

seems to be stuck in a loop of waking up

#

AIGHT GOT IT

#

got the exact command

#

what....

pliant gulch
#

Use either tabs or spaces

brittle ingot
#

Oop copiers curse

pliant gulch
#

Not both

sullen shoal
#

haha

slate swan
#

i just copied the entire command EmiScared

pliant gulch
#

Checks out

sullen shoal
#

especially, its coming from replit

pliant gulch
#

I don't understand why repl.it makes the default tab space 2 spaces

#

Makes no sense to me

slate swan
#

so what should i do exactly? rewrite all tabs?

sullen shoal
#

it also has weird whitespace bugs that cant be seen but python gives that error

pliant gulch
#

Does repl.it even turn tabs into space like any IDE should do?

brittle ingot
#

i've used various languages and in all its 4 spaces (1 tab) at least that is what i've always done

slate swan
sullen shoal
#

i dont think so

slate swan
#

so..... what am i to do now PepeHands

brittle ingot
#

render white space under view tab?

pliant gulch
#

Re-indent the code you copy and pasted

sullen shoal
#

and its hard to explain what i did to fix it

sullen shoal
pliant gulch
#

Indent with whatever you were indenting with before, be it spaces or tabs

#

But not both

slate swan
#

How can i use discord.AllowedMentions

#

aight reindented them

velvet tinsel
#

?

slate swan
#

HAHAHAHHA thank you all so so so much for helping and not giving up on me and my unorthodox request!

velvet tinsel
#

Well done!

slate swan
#

How can i use client.allowed_mentions?

velvet tinsel
#

Read the docs pls lemon_unamused

slate swan
#

!d discord.AllowedMentions

unkempt canyonBOT
#

class discord.AllowedMentions(*, everyone=True, users=True, roles=True, replied_user=True)```
A class that represents what mentions are allowed in a message.

This class can be set during [`Client`](https://discordpy.readthedocs.io/en/master/api.html#discord.Client "discord.Client") initialisation to apply to every message sent. It can also be applied on a per message basis via [`abc.Messageable.send()`](https://discordpy.readthedocs.io/en/master/api.html#discord.abc.Messageable.send "discord.abc.Messageable.send") for more fine-grained control.
velvet tinsel
#

There you go lemon_cowboy

#

Read the docs was easy

#

I need a name for a economy bot

slate swan
#

on quick question though, if i set a reminder,, then i shut the bot down but restart it before the reminder would have expired, would it still "remember" the reminder?

#

and if yes, would it have kept track while it was shut down?

sullen shoal
#

i dont think that kids code does that

slate swan
#

so if the bot goes down its rip desire

velvet tinsel
#

It doesn’t work

slate swan
#

that's not what i was asking

velvet tinsel
#

You’ll have to make your bot 24/7

slate swan
#

its practically that anyways

#

well that still sucks

velvet tinsel
#

But if you want to remember it you can make a dict

slate swan
#

but still, lets go

slate swan
velvet tinsel
#

Make a key called the name of the reminder and then the value would be the time remaining

#

You can change that each time (like every second)

slate swan
#

FujiYikes uhhhh

velvet tinsel
#

And when you turn it off it stops

#

And then if you re run it…it doesn’t work anymore but at least it’s saved

slate swan
#

so its useless anyways

sullen shoal
#

you can make it work with some knowledge

slate swan
#

one day i'll surely

#

but for now this carcrash of a code will work fine enough

velvet tinsel
sullen shoal
velvet tinsel
#

What they are describing

#

Saving the reminders?

brittle ingot
#

Do we have a steps to starting a project message in here?

velvet tinsel
#

(With the value of course)

sullen shoal
velvet tinsel
#

Yes I always do the long way (but sometimes it’s the most obvious way and I follow the zen of python)

velvet tinsel
brittle ingot
#

that isn't starting a project thats asking for help 😂

safe depot
#
future: <Task finished name='Task-112' coro=<Player.check_queue() done, defined at /music.py:24> exception=IndexError('list index out of range')>
Traceback (most recent call last):
 File "/music.py", line 26, in check_queue
 IndexError: list index out of range```

Can anyone help me find the issue please kind of stuck
velvet tinsel
#

What do you mean by starting a project

velvet tinsel
#

We can’t help you if you don’t have code

brittle ingot
velvet tinsel
#

We will never know until they do reveal the code

unkempt canyonBOT
#

Hey @safe depot!

Uh-oh! It looks like your message got zapped by our spam filter. We currently don't allow .txt attachments, so here are some tips to help you travel safely:

• If you attempted to send a message longer than 2000 characters, try shortening your message to fit within the character limit or use a pasting service (see below)

• If you tried to show someone your code, you can use codeblocks
(run !code-blocks in #bot-commands for more information) or use a pasting service like:

https://paste.pythondiscord.com

velvet tinsel
#

Haste bin is recommended

#

OH LETS GO IPAYFORWINRAR

slate swan
#

!rule 5

unkempt canyonBOT
#

5. Do not provide or request help on projects that may break laws, breach terms of services, or are malicious or inappropriate.

slate swan
#

youtube_dl in your project breaches the terms of service of YouTube, and therefore we can't help you.

velvet tinsel
#

Yes I think he’s right

velvet tinsel
#

Try printing the list

#

Ok nothing ever happened bye

slate swan
velvet tinsel
#

Yes

velvet tinsel
#

My creativity is the size of a waterbear

slate swan
#

Winconomy

velvet tinsel
#

Never mind

slate swan
velvet tinsel
#

I’ll sleep on it

slate swan
#

I'm in fact still searching for a bot name, been around 2-3 days

#

Not the best when it comes to creativity :p

velvet tinsel
#

Yes

sullen shoal
#

i lookup the english dictionary for names

velvet tinsel
#

I guess that’s what programmers lack

velvet tinsel
#

It’s been a day nobody replied

#

One of my posts got taken down apparently it broke the rules

velvet tinsel
sullen shoal
#

nice

slate swan
#

@sullen shoal Can I only have 1 Attribute in my Bot? Because I have 2 now. The first one works, but the second one doesn't.

sullen shoal
#

the arrchived ones are crap

velvet tinsel
#

Oh

#

I was looking though one

sullen shoal
#

the archived one are old, they might still work but the code is dumb

velvet tinsel
#

Attributes?

sullen shoal
velvet tinsel
#

Is he talking about discord py?

#

Which part of it

sullen shoal
#

the Bot class

velvet tinsel
#

Client.command?

sullen shoal
#

they want to access variables from everywhere

velvet tinsel
#

Oh

sullen shoal
#

!d discord.ext.commands.Bot

unkempt canyonBOT
#

class discord.ext.commands.Bot(command_prefix, help_command=<default-help-command>, description=None, **options)```
Represents a discord bot.

This class is a subclass of [`discord.Client`](https://discordpy.readthedocs.io/en/master/api.html#discord.Client "discord.Client") and as a result anything that you can do with a [`discord.Client`](https://discordpy.readthedocs.io/en/master/api.html#discord.Client "discord.Client") you can do with this bot.

This class also subclasses [`GroupMixin`](https://discordpy.readthedocs.io/en/master/ext/commands/api.html#discord.ext.commands.GroupMixin "discord.ext.commands.GroupMixin") to provide the functionality to manage commands.
velvet tinsel
#

Oh

#

That one

#

I thought that was basic stuff

#

Right I’m gonna leave tommyinnit server annoying

#

I CANT LEAVE

#

WTH

sullen shoal
#

i gotta go and enjoy my life now, gn

brittle ingot
#

Starting a new Command or bot project?

Thats great! Don't just jump in an go. I know it may not be fun but there are a few crucial steps that should be considered before even starting your project. Let's take a look at some of the crucial things you should work out before starting your command or bot project.

1. What is it?
I think every developer agrees that knowing exactly what it is that you want to create before you create it is a crucial step. Albeit obvious but crucial nonetheless. Sit down and think about what type of bot or command you will create. Is it a utility bot or command, maybe moderation.

2. How will it function?
How will your command or bot work. This can be one of the more complicated parts. For bot projects it may be best to open up google docs to hash this out, otherwise just stating the concept would work for a command (unless complicated). Write out exactly how you want your command to function, from user input to code flow, storage, and lastly execution & return. Why is this important? If you know what you are making, and how you would like it to work, you are more likely to figure out ways to complete this while working these things out.

3. What do I need for this to work?
This is usually a broad topic as it can be as specific as a particular package or as complex as having to learn about a whole new concept of Python that you have never needed or even considered before. Whatever it is, this is where you are creating those building blocks to get yourself ready to code your project.

4. Executing your plan
Finally! We are creating our project! We have installed the packages we need and know exactly how we want it to work. Researched topics that we were unfamiliar with and have a great grasp on where to begin, plus we've created the steps to follow to complete our project.

Why do I say all of this? I say this because not only does it help you. But it helps the Community of developers you may be asking for help if you get stuck. We can easily identify what you need and where you may need it, If you know ahead of time what you are looking to do, how you expect it to work, and have a general idea of what you need in order for it to work.

In conclusion, I know its extremely hard to take a step back and think before diving right in, but having a plan ahead of time may just keep you motivated to continue if it gets frustrating.

Happy Programming!

normal ginkgo
#

How…

brittle ingot
normal ginkgo
#

Lmao

#

Im such an idiot

brittle ingot
#

i'd be lying if i said that isn't a normal occurance 😂

slate swan
#

Inattention mistakes can always happen 02shrug

velvet tinsel
#

Yes

slate swan
#

Everyone made at least one, if not much much more

velvet tinsel
#

I agree much

brittle ingot
#

for me every line, of every code, i write every day. ||not really but happens more than i care to admit||

velvet tinsel
velvet tinsel
#

That’s normal

#

It’s programming 😭😭

#

Every meme is about errors

slate swan
#

Allow me to introduce myself:

normal ginkgo
#

Lmao

#

How?

velvet tinsel
brittle ingot
velvet tinsel
#

I get an average of 2000 per line, your code is god level code (don’t ask how ok)

#

When I get really lucky my entire code adds up to 10000

slate swan
#

That's why I love coding my entire programs in one single line

velvet tinsel
#

😂😂😂

velvet tinsel
brittle ingot
velvet tinsel
#

*sarcasm intended *

slate swan
#

I was experiencing ok lemon_sentimental

velvet tinsel
#

Nah man, you were doing the best. An average expert has around 1000 errors as well

#

Maybe we’re scaring away beginners

#

🤔

sullen shoal
#

you have to code blindly for that many errors tbh

brittle ingot
normal ginkgo
slate swan
#

In the end, we just need 3/4 keys as developers

velvet tinsel
#

My keyboard is an enigma

#

I type something new every time

slate swan
#

Which are:

  • Ctrl
  • A
  • C
    and finally
  • V
normal ginkgo
#

Long ago

velvet tinsel
#

Too little

brittle ingot
#

hold up? A?

velvet tinsel
velvet tinsel
slate swan
#

For GitHub raw content

brittle ingot
#

oh lmfao

velvet tinsel
#

You use windows?

slate swan
brittle ingot
#

mac

velvet tinsel
#

Roses are red, violets are blue, CTRL C, CTRL V, I took your code

slate swan
#

But that's an expensive keyboard, cheaper ones only have Ctrl, C and V

velvet tinsel
#

👍

brittle ingot
#

Roses are red, violets are blue, your code works in my bot too 🤣

velvet tinsel
#

😂😂😂😂

slate swan
#

As dani would say, hippity hoppity your code is now my property

velvet tinsel
#

Roses are red, my tears are blue, your code doesn’t work in my code boo

velvet tinsel
#

Literally every software engineer: haha CTRL v go brrr

#

You gotta admit most of your code was copied

brittle ingot
#

Its not copying if you try to understand it

velvet tinsel
#

That’s the point of tutorials innit

slate swan
velvet tinsel
brittle ingot
#

gonna be honest, making a package for python right now. ||100% got some other dev concepts in there||

slate swan
#

As my last message for today, I'd like to give a minute of silence to all bot developers that have this situation and come here.
Please take some time for them PES_SadGePray

brittle ingot
#

lmfao

slate swan
#

||search more cuz why code it urself||

brittle ingot
#

||didn't copy that just now||

slate swan
wild oak
#

I have no clue why this is happening AGAIN

#

fixed it nvmd

#

one thing after another omgggg

#

and they are all loaded

brittle ingot
#

where is your help command?

slim whale
#

is there any import for collection ?

brittle ingot
#

collection?

wild oak
#

great queston

#

question

brittle ingot
#

do you have a help cog?

#

did you remove the default help command and not replace it with anything?

slim whale
#
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/bot.py", line 939, in invoke
    await ctx.command.invoke(ctx)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 863, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/ext/commands/core.py", line 94, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: NameError: name 'collection' is not defined```
brittle ingot
#

what is the command its referring to?

slim whale
brittle ingot
#

can you show it?

slim whale
#

yes

wild oak
slim whale
#

but its mixed with other things, im going to send it in parts

wild oak
#

also like none of the commands are working

slim whale
#

like the on message in another part

slim whale
#
@bot.command()
async def afk(ctx, *, reason=None):
    embed = discord.Embed(timestamp=ctx.message.created_at, color=0x87CEEB)
    embed.set_footer(text="something")
    post = {
        "member": ctx.message.author.id,
        "reason": reason,
        "date": str(ctx.message.created_at)
        }
        
    if reason == None:
        collection.insert_one(post)
        embed.add_field(name=f"{ctx.author.name} is now AFK", value="Reason: No reason specified.")
        await ctx.send(embed=embed)
    else: 
        collection.insert_one(post)
        embed.add_field(name=f"{ctx.author.name} is now AFK", value=f"Reason: {reason}", inline=False)
        await ctx.send(embed=embed)```
slate swan
slim whale
#
@bot.event
async def on_message(message):
  if message.mentions: 
    results = collection.find({"member": message.author.id}) 
    for result in results:
      collection.delete_one(result)
      if message.content == result:
        await message.channel.send(f"This person is currently AFK, Reason? {reason}")
        await bot.process_commands(message)
  else:
    await bot.process_commands(message)  ```
slate swan
#

Let me send a screenshot of my server automated answers

brittle ingot
#

what does collection have to do with it?

wild oak
slate swan
brittle ingot
#

like where do you get collection from/

slim whale
#

saw an example to see how to do it, no idea what collection is

slate swan
#

There you go.

slim whale
#

xd

brittle ingot
#

that's ur bot?

slim whale
#

going to try something else bc i dont know how to use that

brittle ingot
#

oh no i mean winrar.

slim whale
#

oh

brittle ingot
#

Collection looks like its referring to mongodb. and im assuming you don't have that set up? i would recommend postgreSQL or SQLite3

wild oak
#

UGHHH theres sum already in it about slash commands

#

im so confused and slow

brittle ingot
#

np, good luck

slim whale
#

thanks! <3

slate swan
brittle ingot
#

ngl i know nothing about slash command with Python. I've only used discord.js for slash commands.

slate swan
#

Take a look at the two embeds I've sent.

brittle ingot
#

i've never had it take an hour though. Usually if you reinvite the bot it automatically adds the slash commands 😄

#

Hold a second Win did you actually create that template?

#

Anyways, im off to actually complete some work tonight 😂

wild oak
#

@slate swan BRO OMG

#

Your the creator of the template!!!!!!!!

slate swan
wild oak
#

DUDE IM sorry if i said anything like its trash its really not ive been using it for like the past 10 months maybe

slate swan
#

Well, I take every critical opinion in a very good way. It's a way to improve it so that everyone can be happy about it :)

wild oak
#

i was looking for a python bot template thats lightweight and easy to setup so i can just have it on a rasberry pi running 24/7

#

and i found yours omg i didnt know you were the creator untill i looked at your username

slate swan
#

¯\_(ツ)_/¯

woeful crow
#

How can i set a timeout for my wait_for reaction_add?

wild oak
brittle ingot
#

im back. Procrastination level 1000

summer wave
woeful crow
#

ah, ty

summer wave
brittle ingot
#

Sorry didn't mean to out you like that :/

slate swan
jade tartan
#

Is there any one who i can dm that could help me make a command that i want my functioned bot to do? If that make sense

wild oak
#

Sorry it took so long i had to edit out the links @slate swan

#

your literally the start of me learning python

slate swan
#

Glad to hear that :D

wild oak
#

I edited the weather command to have a custom background, I saw the website that u used for it and i was like WOAH thats alot of more stuff i can add i added a minecraft achievement, meme generator, a lot of other stuff wow holy

#

Is there any way i can still use a prefix with your bot tho

#

if not ill just stick to / commands

slate swan
#

You can always make normal commands

#

This will be made when I'm moving everything to disnake

wild oak
#

then the literall guy who made it

#

helps me

slate swan
brittle ingot
slate swan
#

Better than nothing 107

brittle ingot
#

Its a learning process. Never attempted it before. Im on a mission to challenge myself 😂

slate swan
#

Oh well, just like my projects

#

Attempting things I've never tried in the past and hope for the best

brittle ingot
#

yessir. I realized almost all of my knowledge is discord lib based. And outside of it i had no idea where to begin. so where better than a webserver, api and some packages 😂

slate swan
#

Yeah, but in the end it won't be wasted time. So it's worth the hassle

brittle ingot
#

The way i see it, is its all projects i can present to a potential employer in the future.

slate swan
#

Exactly

upbeat vigil
#

hey, when i run this code, and type 'test', the bot spams the output until it gets rate limited, is there a way i can prevent that?

brittle ingot
#

change it to contains() or .startswith() or make it a bool by checking if the content.lower() == "test"

if message.content.startswith("test"):
    ... more code

or

if message.content == "test":
    ... more code
dusk dust
#

how to handle multiple reactions? (using await bot.wait_for("reaction_add"))

slate swan
#

@slate swan lovely profile picture

#

Thank you, appreciate it KryptonWink

brittle ingot
#

if you have more than one reaction on your message you can use if/elif/else to check if the reactions are the ones you want:


if str(reaction.emoji) == '🔗 ':
    ... do stuff
dusk dust
slate swan
#

Krypton pays for WinRAR

brittle ingot
dusk dust
#

just... you guessed the emoji I'm going to put

slate swan
#

Ladies and gentlemen, we have a seer

brittle ingot
#

oh lol ||it was one of my recents||

brittle ingot
dusk dust
slate swan
#

||imagine not having winrar||

#

You probably want to use the event

#

!d discord.on_raw_reaction_add

unkempt canyonBOT
#

discord.on_raw_reaction_add(payload)```
Called when a message has a reaction added. Unlike [`on_reaction_add()`](https://discordpy.readthedocs.io/en/master/api.html#discord.on_reaction_add "discord.on_reaction_add"), this is called regardless of the state of the internal message cache.

This requires [`Intents.reactions`](https://discordpy.readthedocs.io/en/master/api.html#discord.Intents.reactions "discord.Intents.reactions") to be enabled.
slate swan
slate swan
brittle ingot
dusk dust
#

someone reacts to a specific message it triggers

#

its a help command

#

with menus

brittle ingot
#

then i would use a wait_for personally since its a set time until it should time out (usually)

dapper cobalt
slate swan
#

I'd rather have a purple name, but aqua is fine 59

brittle ingot
#

Scopes!

#

lol

slate swan
#

How can I ignore all errors that happen in my script? I'm not talking about using try-statements

slow fog
#

like an error handler?

slate swan
# slow fog what do you mean exactly

If somewhere an error happens. I want to ignore that error and not print it anywhere. Just like for the try-statement but for the whole script

slate swan
slow fog
#

oh

#

there is but i dont really remember

brittle ingot
#

on_command_error event

flint cosmos
#

Hi I am trying to make it so someone who is hosting the discord bot can send a message in their terminal and make the bot say something whilst also being able to read messages that people are saying. I found a way to asynchronously check for input from a user on python but I am not sure where to put it.

userInput = await aioconsole.ainput() < This is the code I dont know where to put
await message.channel.send(userInput) 
brittle ingot
#

that i dont know, Im pretty sure there is some type of keyboard interrupt or something not related to discord.py you could look into. where it would go in your code i have no clue.

cloud dawn
#

Or use a web solution instead :D

slate swan
#

How do I know if someones roles have updated? E.G they had no roles, now they have X role?

#

is there an on_role_change event?

cloud dawn
#

!d discord.on_member_update

unkempt canyonBOT
#

discord.on_member_update(before, after)```
Called when a [`Member`](https://discordpy.readthedocs.io/en/master/api.html#discord.Member "discord.Member") updates their profile.

This is called when one or more of the following things change:

• nickname

• roles

• pending...
tiny ibex
#

How to download a pic

slate swan
tiny ibex
slate swan
tiny ibex
slate swan
#

async for ... in channel.history()

slate swan
#
@bot.event
async def on_member_update(before, after):
    if len(before.roles) < len(after.roles):
        newRole = next(role for role in after.roles if role not in before.roles)
        if newRole.name == "RolesRemoved":
            #Remove all of their roles.

How would I remove all of the users roles from this? on_member_update only takes those 2 parameters.

pliant gulch
slate swan
#

yep

pliant gulch
#

You can do await after.edit(roles=[])

slate swan
#

lemme try

#

oh ye ty ❤️

pliant gulch
#

👍

slate swan
#
await after.edit(roles=[])

if I wanna give them 1 role instead of none, can I just put the ID or name inside of roles=[] because i'm getting this error: AttributeError: 'int' object has no attribute 'id'

pliant gulch
#

Basically a object that has an id attribute

slate swan
#

yuh I have the ID of the role: 910800167664488508

pliant gulch
#

So just create a discord.Object instance with the role's id

#

!d discord.Object

unkempt canyonBOT
#

class discord.Object(id)```
Represents a generic Discord object.

The purpose of this class is to allow you to create ‘miniature’ versions of data classes if you want to pass in just an ID. Most functions that take in a specific data class with an ID can also take in this class as a substitute instead. Note that even though this is the case, not all objects (if any) actually inherit from this class.

There are also some cases where some websocket events are received in [strange order](https://github.com/Rapptz/discord.py/issues/21) and when such events happened you would receive this class rather than the actual data class. These cases are extremely rare.

x == y Checks if two objects are equal.

x != y Checks if two objects are not equal.

hash(x) Returns the object’s hash.
pliant gulch
#

Once you create it, just add it to the list and pass to roles kwarg of edit

slate swan
#

alr lemme try

rustic temple
#

hello good people

#

is there a check for if your bot is playing anything or not?

slate swan
#
@bot.event
async def on_member_update(before, after):
    temp = discord.Object(910800167664488508)
    if len(before.roles) < len(after.roles):
        newRole = next(role for role in after.roles if role not in before.roles)
        if newRole.name == "BannedFromTrading":
            channel = bot.get_channel(910793779508838401)
            await channel.send("user has been given bannedfromtrading")
            await after.edit(roles=[])
            await after.edit(roles=temp)

returns TypeError: 'Object' object is not iterable

pliant gulch
#

You should be passing [temp]

slate swan
#

oh right

#

yea

pliant gulch
#

And it makes no sense to have two edit calls, your just making two API calls

#

Just have the one where you pass [temp]

slate swan
#
await after.edit(roles=[temp])
pliant gulch
#

And it will remove all roles and add temp

slate swan
#

instead of 2

pliant gulch
#

Mhm

slate swan
#

ty again <

normal ginkgo
#

I have a question

#

So you guys know bots can put a link inside of a word? How do I get my bot to detect something with on_message from that link inside the word?

normal ginkgo
slate swan
#

How to make so if anyone dm the bot it responds to the user on the bot's dm?

tiny ibex
normal ginkgo
#

How do I get my bot to print the link in the hyperlink?

gaunt ice
tiny ibex
gaunt ice
tiny ibex
slate swan
#
for invite in invites_before_join:
        if invite.uses < find_invite_by_code(invites_after_join, invite.code).uses:

returns this error (sometimes)

AttributeError: 'NoneType' object has no attribute 'uses'```

can someone explain to me why this happens and how I fix it
normal ginkgo
#

Anyone know how to use regex here?

gaunt ice
#

to do that u need to make a embed

embedOrki = discord.Embed(title="Orki's error fix", description="You can visit about the error [here](link)")
await ctx.send(embed=embedOrki)

slate swan
#

If a check is false the coroutine stops right?

tiny ibex
#

How to stop auto-packaging on repllemon_grimace

tiny ibex
#

Fck replit -,-

gaunt ice
#

wait what u askin

slate swan
#

You gave me 5 strokes

gaunt ice
#

lul

#

show code wen

slate swan
#

Never its a basic check

gaunt ice
#

am not pro in python I just started it like 1 week ago

#

;-;

slate swan
#

Nice

tiny ibex
gaunt ice
#

oof

gaunt ice
#

?

#

beau carnes

tiny ibex
#

I use heroku

gaunt ice
#

who is it hen

#

oof

tiny ibex
gaunt ice
#

hmm

tiny ibex
#

I use repl to just check shit

#

Then host to heroku forever

gaunt ice
#

hmm

slate swan
#

Bro why are reactions and roles so damn confusing in docs

#
    @commands.command()
    async def role(self, ctx, choice):
        if choice == 'create':
            await ctx.message.delete()
            await ctx.send('Spamming role creation..')
            await ctx.send('Please wait...')
            print('Spam role creating procession has begun!')
            for i in range(1, 25):
                await ctx.guild.create_role(name=f'testing role')
        elif choice == 'delete':
            await ctx.message.delete()
            await ctx.send('Spamming role deletion..')
            await ctx.send('Please wait...')
            print('Spam role deleting procession has begun!')
            roles = ctx.guild.roles
            roles.pop(0)
            for role in roles:
                if ctx.guild.me.roles[-1] > role:
                    await roles.delete()
                else:
                    await ctx.send('There was an error while deleting the roles.')
        else:
            await ctx.send('Not a valid option.')

For some reason I am being rate limited, it wasnt doing it yesterday though.
Any reasons it could be?

#

They make 0 sense

meager lynx
slate swan
#

But which messages, because all I'm trying to make it so it mass deletes all the server roles. The Create function works, just not the delete function

slate swan
meager lynx
slate swan
#

alright

meager lynx
#

Gotta go for a while, you can msg me while im gone and ill look after

slate swan
#

👍

#
for invite in invites_before_join:
        if invite.uses < find_invite_by_code(invites_after_join, invite.code).uses:

returns this error (sometimes)

AttributeError: 'NoneType' object has no attribute 'uses'```

anyone know why i'm getting this error and or how to fix it
magic ore
#

Find invites by code is returning None

slate swan
#
@bot.command()
@commands.has_permissions(administrator=True)
async def dd(ctx):
    print(ctx.author.web_status)
    print(ctx.author.mobile_status)
    print(ctx.author.is_on_mobile())
    try:
        if ctx.author.is_on_mobile():
            await ctx.send("true")
        if not ctx.author.is_on_mobile():
            await ctx.send("false")
    except Exception as e:
        print(f"ERROR: {e}")
        await ctx.send("Error")```
#

why is that not working

meager lynx
pale zenith
#

do you have the Presences intent? @slate swan

slate swan
#

OO

pale zenith
#

its needed to get this info

stone moon
#

anyway I can add roles via their role name? For context I have a ton of roles that are just 1 number increasing, and member’s roles ascend in numbers the more they interact. I can add a role based on their current role number + 1

pale zenith
#

you can use discord.utils.get

#

e.g.

tiny ibex
#
2021-11-22T03:08:03.270644+00:00 app[worker.1]: Traceback (most recent call last):
2021-11-22T03:08:03.270665+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/client.py", line 350, in _run_event
2021-11-22T03:08:03.270665+00:00 app[worker.1]:     await coro(*args, **kwargs)
2021-11-22T03:08:03.270667+00:00 app[worker.1]:   File "/app/main.py", line 92, in on_message
2021-11-22T03:08:03.270667+00:00 app[worker.1]:     await self.commands[cmd](msg)
2021-11-22T03:08:03.270677+00:00 app[worker.1]:   File "/app/main.py", line 10, in get_vc
2021-11-22T03:08:03.270677+00:00 app[worker.1]:     await func(self, msg, vc)
2021-11-22T03:08:03.270684+00:00 app[worker.1]:   File "/app/main.py", line 104, in start_recording
2021-11-22T03:08:03.270684+00:00 app[worker.1]:     vc.start_recording(discord.Sink(encoding=encoding, filters=filters), self.finished_callback, msg.channel)
2021-11-22T03:08:03.270686+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/voice_client.py", line 790, in start_recording
2021-11-22T03:08:03.270687+00:00 app[worker.1]:     self.decoder = opus.DecodeManager(self)
2021-11-22T03:08:03.270696+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/opus.py", line 437, in __init__
2021-11-22T03:08:03.270696+00:00 app[worker.1]:     self.decoder = Decoder()
2021-11-22T03:08:03.270697+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/opus.py", line 352, in __init__
2021-11-22T03:08:03.270698+00:00 app[worker.1]:     _OpusStruct.get_opus_version()
2021-11-22T03:08:03.270707+00:00 app[worker.1]:   File "/app/.heroku/python/lib/python3.9/site-packages/discord/opus.py", line 290, in get_opus_version
2021-11-22T03:08:03.270707+00:00 app[worker.1]:     raise OpusNotLoaded()
2021-11-22T03:08:03.270724+00:00 app[worker.1]: discord.opus.OpusNotLoaded```
pale zenith
#
role = discord.utils.get(guild.roles, name=str(int(role) + 1))
``` @stone moon
tiny ibex
#

Can someone help please

pale zenith
#

Opus is Not Loaded rooThink idk

stone moon
pale zenith
#

:DDD

tiny ibex
stone moon
pale zenith
#

how so

pale zenith
#

o

tiny ibex
pale zenith
#

a guwud answer

tiny ibex
tiny ibex
#

Can't figure out

pale zenith
#

¯_(ツ)_/¯

#

idk I dont use 🤢heroku🤢

slate swan
#

It is but is the best option for being a free option

pale zenith
slate swan
#

am i wrong tho?

#

i think im stupid but

this is my code

client.run(token) bot=True)

somone give me the real one

maiden fable
slate swan
#

forgot that isnt a int its a complex

#

bruh

maiden fable
#

Replit

slate swan
#

@slate swan actually add your token add dont add it like i said cuz its replit

maiden fable
#

Idk why but bots are getting ratelimited more nowadays on replit

slate swan
slate swan
#

and when i put the token it gave me alot of erros

#

it was working prefcetly fine 2 minutes ago

#

iirc its client.run(os.getenv(token))

#

so i just say client.run(os.getenv(token))

#

why cant i just send u the replit in dms

#

so tired rn

slate swan
#

so wahts actually the whole code

slate swan
#

bro im on chrombook i have to use replit

slate swan
#

im on chrombook i have to

#

alr i never said anything about it ?

#

man im nerver gonna make my bot online ervery again 😭

brittle ingot
#

no you don't you can install vscode with the linux distro on your Chromebook

#

😄

slate swan
#

@brittle ingot why cant people download other ides i dont quite understand cuz of the os?

#

what should i click on @brittle ingot

brittle ingot
brittle ingot
unkempt canyonBOT
slate swan
#

!code @tiny ibex

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.

tiny ibex
#

Please help

brittle ingot
#

yeah. so you have to enable linux beta and download the .deb version of vscode.

slate swan
#

guys i put my bot token at like next to the token but when u scroll down in main py it says client.run(token, bot=True) SOMONE TELL ME THE RIGHT CODE HERE

slate swan
#

the issues is

slate swan
#

my bot is working preficetly find like 5mintues ago and i think i click on something wrong my code rn is client.run(token, bot=True) idk why it gives me erros it was the same code but i click on smthing '

slate swan
slate swan
slate swan
tiny ibex
#

That's your issue

slate swan
#

IM ON CHROMBOOK

tiny ibex
#

It's rate limiting you

slate swan
tiny ibex
slate swan
#

wydm how it matter

brittle ingot
#

You're being rate-limited. Which isn't surprising considering repl.it is using the same IP for every user. so if there is a user that is using repl.it to host a nukebot. If discord bans that bot it bans ALL bots on repl.it including yours

slate swan
tiny ibex
brittle ingot
#

oh god no.

slate swan
#

i swear your giving me strokes each second

tiny ibex
slate swan
#

nah

brittle ingot
#

they're both bad

slate swan
#

vs is

tiny ibex
slate swan
brittle ingot
#

so is self-hosting

tiny ibex
#

And that's the thing normal hoomans like me want

tiny ibex
slate swan
slate swan
tiny ibex
#

I am poor😭

brittle ingot
#

If you have VSCode you can self-host and not use repl or heroku. ||my bots have always stayed online with vscode||

slate swan
tiny ibex
vocal plover
#

thats not true

#

there'll be high energy usage but it wont affect the cpu

maiden fable
#

Alec and Halloween? Hmm

slate swan
maiden fable
#

Hehe

maiden fable
slate swan
vocal plover
#

it's weird to see me here? lol

maiden fable
#

Lmao

tiny ibex
maiden fable
#

Ah u. Didn't recognize u @tiny ibex

#

Sky Lover

tiny ibex
maiden fable
#

At least use heroku instead of replit

tiny ibex
#

repl is ewww

slate swan
brittle ingot
#

Alec! Long time no see! Congratz on moving up!

vocal plover
#

Moving... up?

slate swan
#

hes the goatjam_cavedude

brittle ingot
#

well helper 😄 and i thought project lead for a bit

vocal plover
#

why do i feel like im out of the loop on myself lol

sage otter
#

You referring to the mirrored command prompt you get in vsc?

brittle ingot
#

i mean i don't use it to self-host but its certainly a free option if you want to use it like that.

slate swan
#

do you guys mean selfhosting as running your code yourself?

brittle ingot
#

yeah

sage otter
#

Yes

#

Running it on your local device

brittle ingot
#

you run it from the terminal in VSC.

sage otter
#

Yeah

vocal plover
#

selfhosting doesnt need to be a local device

slate swan
#

ok i was right

sage otter
#

But you can also run it from a regular un-mirrored terminal.

brittle ingot
#

yeahp

slate swan
#

a separate terminal?

sage otter
#

:oogh: wot

#

No those are two different things

vocal plover
#

a pi can be used yes, but that doesnt have a relation to whats being replied to

slate swan
#

yeah

brittle ingot
#

vsc's terminal in prorgram is mirrored essentially its your regular terminal but inside the program. un mirrored would be your regular one im assuming?

tiny ibex
vocal plover
#

A better way of putting it I think would be that VSC has an integrated terminal, and the point being made is that it's fine to run it from a regular terminal, not just the integrated VSC terminal

brittle ingot
#

yeah thanks 😄

tiny ibex
#

Does that even matter -,-

brittle ingot
#

no

vocal plover
#

not really, but if you were going to put it on your PC then running it not in VSC would reduce memory usage by quite a lot

brittle ingot
#

really?

vocal plover
#

since VSC is essentially a chromium instance

brittle ingot
#

oh wow

slate swan
#

wow thats cool

tiny ibex
#

I never used VSc terminal

slate swan
brittle ingot
#

|| i never use regular terminal || 😂

vocal plover
#

VSC (and discord, and slack, and insomnia, and a ton of other apps) is basically just a single tab chrome instance with extra steps

tiny ibex
#

I don't even know how it works

brittle ingot
brittle ingot
#

Its nice, cause you don't have to switch screens

vocal plover
#

what if you have 4 screens mmLol

brittle ingot
slate swan
vocal plover
#

I need them for the uh

#

oh god

#

29 terminal windows i currently have open

tiny ibex
slate swan
vocal plover
#

a very good question

brittle ingot
#

bruhh for what 😂

slate swan
#

why😭

vocal plover
#

calculator.

slate swan
vocal plover
#

how i do maths:
ctrl + alt + t (opens a terminal) -> python3 -> type maths

sage otter
vocal plover
#

yup

brittle ingot
#

i think the most i ever have its like 2 if im running a bot in the background to test coding for my web server 🤷‍♂️

slate swan
#

my most i have is 1 cuz if i do 2 laptop go BOOM

brittle ingot
#

oop

vocal plover
#

i may have problems

brittle ingot
#

lmfao

slate swan
#

fun

brittle ingot
#

yea

#

its on the developer portal

vocal plover
#

go to the dev portal's oauth tab, there's a switch for it

tiny ibex
brittle ingot
#

Alec you see the new text input feature discord is going to release?

tiny ibex
#

Join above