#development

1 messages · Page 383 of 1

primal adder
#

ait

#

wait

#

for some reason it still works though

#

but why does it send the error?

low rivet
#

idk it shiuldnt send the error

primal adder
#

that's really weird

#

i mean i'd expect an error and no member count posted

abstract mango
#

I guess you could just ignore the error ¯_(ツ)_/¯

primal adder
#

¯_(ツ)_/¯

earnest phoenix
#

i want to get nice api

earnest phoenix
#

People

inner jewel
#

error in the generated code

#

scriptengine is broken

high tinsel
#

is there a way that a bot would not go online because the code has some error in it?

#

I did this:

#

const { Client } = require ('discord.js');
const { TOKEN, PREFIX } = require ('./config.js');
const ytdl = require ('ytdl-core');

const client = new Client({ disableEveryone: true });

client.on('message', msg => {
if(msg.author.bot) return;
if(!msg.content.startsWith(PREFIX)) return;
const args = msg.content.split(' ');

if(msg.content.startsWith(${PREFIX}play)) {
const voiceChannel = msg.member.voiceChannel;
var connection = voiceChannel.join();
const dispatcher = connection.playStream(ytdl(args[1]))

}
});

gusty topaz
#

where is client.login

#

you arent actually logging in

earnest phoenix
#

@high tinsel pls learn how to use ytdl lul

#

filter audio only it will help

high tinsel
#

This is just a tst bot thing...

tulip raptor
#

Yes I do

low rivet
#

what coding language?

high tinsel
#

js

tulip raptor
#

Java and Swift

#

Java primarily

#

I wanna use JDA

low rivet
#

then use it :/

tulip raptor
#

Where?? I try to edit the bot and there is no specific place to... Start coding I guess. I'm really new to discord bots. This is my first time. Sorry for the inconvenience.

#

Do I submit code using github?

low rivet
#

that's the jda server

#

I've never used jda so I can't advice you

tulip raptor
#

Ask there?

#

Well, I dont need coding help.

low rivet
#

then?

tulip raptor
#

I need to know where I can submit my code

low rivet
#

you don't need to submit code

tulip raptor
#

So...

#

All the coding is done on discord?

low rivet
#

just run the code from your IDE or cmdline?

tulip raptor
#

Oh, ok.

#

Is that also how I get my bot online?

low rivet
#

uh yeah..

tulip raptor
#

Ok, sry

high tinsel
#

const { Client } = require ('discord.js');
const { TOKEN, PREFIX } = require ('./config.js');
const ytdl = require ('ytdl-core');

const client = new Client({ disableEveryone: true });

client.on('message', msg => {
if(msg.author.bot) return;
if(!msg.content.startsWith(PREFIX)) return;
const args = msg.content.split(' ');

if(msg.content.startsWith(${PREFIX}play)) {
const voiceChannel = msg.member.voiceChannel;
var connection = voiceChannel.join();
const dispatcher = connection.playStream(ytdl(args[1]))
dispatcher.setVolumeLogarhytmic(5 / 5);

}
});

client.login("TOKEN");
now I did this and it conects to the VC but I can not hear it... Do you have any ideas why?

low rivet
#

codeblock

#

```js
//code
```

vale saffron
#

why have you not tell me at i need to come to active my bot before 14:05 today?

uncut slate
vale saffron
#

oh

#

can i ask when i have allowed to active my bot?

#

and invite it?

south finch
#

think you should invest on keeping it online 24/7

old glade
#

yeah

#

the best way is to have a vps to run the bot on it

earnest phoenix
#

@inner jewel but why? I put all dependencies for it, created META-INF/services/javax.script.(forgot) with required content

inner jewel
#

broken

#

lib

glossy saddle
#

onst Discord = require("discord.js");
const client = new Discord.Client();

client.on('ready', () => {
client.user.setStatus("online");
console.log("Reload Completed");
});

client.on('message', msg => {
if (msg.content === 'input command') {
msg.channel.send('output message');
}
});

client.login('my token's bot');

#

what the problem?

#

in node.js

umbral pelican
#

my token's bot Thonk lol

analog walrus
#

Forgot a c

#

For const?

glossy saddle
#

I purposely wrote that I wanted to hide you

analog walrus
#

What?

glossy saddle
#

I wrote this to hide

#

who know

earnest phoenix
#

@tulip raptor java and swift 🤔

#

so use kotlin

#

QHDLFN

inner jewel
#

kotlin

old glade
#

How do I get the number of all users in the servers my bot is installed on ?

#

I have to get a list of all guilds and then get the member inside each guild ?

inner jewel
#

that'll contain duplicates

old glade
#

I just noticed the get_all_member method in the doc

#

I think doin len() of this would do the work

inner jewel
#

again, it'll contain duplicates

old glade
#

how do I do this then ?

inner jewel
#

idk in python

#

with JDA you'd just get the size of the user cache

old glade
#

mm

#

Well I'll try several things

#

thanks anyway

analog walrus
#

Guys how do I get the number of guilds the bot is in??? C#

inner jewel
#

you know there's more than one c# lib right?

analog walrus
#

I know

#

I just need to know

#

How it roughly works

#

Nvm I will try it out me self

tawny lava
#

how does one get a channel that's on another shard d.js

inner jewel
#

bRoAdCaStEvAl

tawny lava
#

😩

stone steppe
#

Hi, I request some help. I am currently making a music bot with the Discord.js library and I keep getting an error when using my play command. This is what my console shows:

#

Any help?

topaz fjord
#

Permissions isn't defined

#

Read

stone steppe
#

Yeah how can I define it.

abstract mango
#

permisions

#

you misspelled it

stone steppe
#

oh rip

#

Thanks. I'll see if that works.

abstract mango
#

np

stone steppe
#

It worked but now im getting another undefined error.

abstract mango
#

post

stone steppe
#

And according to the tutorial I watched this is correct.

abstract mango
#

hm

#

what is connection

#

are you defining it?

stone steppe
#

to connect to a voice channel I belive.

#

Standby..

#

cost dispatcher = connection.playStream(ytdl(args[1])) its there and defined. the playStream is having an error.

abstract mango
#

hm

#

i don't really do d.js so you'll probably have to wait for someone else

#

:p

stone steppe
#

Okie, Thanks for your help

abstract mango
#

np

shrewd totem
#

How're you getting your connection variable?

stone steppe
#

Uhh

shrewd totem
#

voiceChannel.join() will return a promise.

stone steppe
#

Where shall I add that in?

shrewd totem
#

So you've to use await. Otherwise your connection variable will be undefined.

stone steppe
#

await is undefined.

shrewd totem
#

Is it inside an async function?

stone steppe
#

shit no lol

#

Im tryna transfer some code from my other bot.

shrewd totem
#

If you're not using async/await, you can use .then() after .join()

stone steppe
#

I've added the await to the command.
var connection = await voiceChannel.join();

shrewd totem
#

Yeah correct.

stone steppe
shrewd totem
#

You've to use it inside an async function.
await doesn't work in sync functions.

#

Use .then() instead.
For example:

voiceChannel.join().then(connection => {
  // Use `connection` variable here. 
});
stone steppe
#

What is my connection variable then? I am new to these types of bots.

shrewd totem
stone steppe
#

Okay.

#

So I should add this before that line or in that line?

shrewd totem
#

Before what line?

stone steppe
topaz fjord
#

You should learn about callbacks

shrewd totem
#

You don't need to use try..catch...finally there.

stone steppe
#

Mkay..

shrewd totem
#

You can do it like:

voiceChannel.join().then(connection => {
  // Use `connection` variable here. 
}).catch(e => {
  // You can catch your errors here. `e` is the error variable.
});
stone steppe
#

So I'll replace my current code with that one.

#

(Sorry I'm very new to discord music bot programming)

shrewd totem
#

No problem 👌🏼

stone steppe
#

Okay I've replaced that.

#

Added the connection variable.

#

Bot is active.

#

I'm just testing it now.

#

@shrewd totem Crashed - Connection is not defined.

topaz fjord
#

Because the connection variable is not accessible outside of the callback

shrewd totem
#

Could you show the screenshot of the error and code?

stone steppe
topaz fjord
#

I love how no one listens to me

shrewd totem
#

😂

stone steppe
#

@topaz fjord because idk what u be talking about xd

topaz fjord
#

Its pretty self explanatory

shrewd totem
#

You can't use connection outside the then() (where connection is defined).

topaz fjord
#

You trying to access the connection outside of the callback where connection is defined

stone steppe
#

Sorry - I'm really confused.

#

@shrewd totem Do you have a glitch acc. that I can invite you to?

shrewd totem
#

No I don't.

stone steppe
#

Dang.

#

I can DM you a GDocs with the coding on it?

shrewd totem
topaz fjord
#

So let's say we have ```js
Test.test().then(data => {

})

Console.log(data)

#

Your not able to access the thing data

#

Since it is being defined in the callback

#

So anything defined in the callback can't be used outside

stone steppe
#

mhm

shrewd totem
#

Yeah, see how it's used. ANd listen to public class Turtle, he's trying to explain it to you.

stone steppe
#

I am.

#

Still confused though.

shrewd totem
stone steppe
#

I understand that the data cannot be used outside of the callback*.

topaz fjord
#

Not command, callback

stone steppe
#

Hold on a minute - ima read that thing.

shrewd totem
#

Don't you have it on GitHub or GitLab? I don't have a Google account.

stone steppe
#

I can adjust it so you can edit.

topaz fjord
#

He said he canr

#

He doesn't have a Google account

shrewd totem
#

Yeah

#

Also, it's hard to read there.

stone steppe
#

No, with the link I can change the permissions

#

Refresh the page

topaz fjord
#

Just put it on git :/

stone steppe
#

I dont have it.

#

nothing else.

#

I don't know the pass.

abstract mango
#

why are you using your brother's account 🤔

stone steppe
#

Because I'm not allowed to have one.

#

😦

abstract mango
#

o

stone steppe
#

Damn parental controls.

topaz fjord
#

Lmao

shrewd totem
#

Check your file now.

stone steppe
#

Okay.

topaz fjord
#

Syntax error

stone steppe
#

I saw.

shrewd totem
#

Syntax error, it's hard to edit code in a text editor lol

stone steppe
#

ik.

shrewd totem
#

Fix syntax errors and try.

stone steppe
#

Standby..

topaz fjord
#

You should really get a linter

stone steppe
#

Fuck

#

CMD Not responding..

frozen bough
#

Is there another method to get guild.id and guild.name?
for some reason, every script/code after this line doesn't execute/run:
var customcontext = new CommandContext(client, msg);

topaz fjord
#

@frozen bough what lib

frozen bough
stone steppe
#

Is it the .?

topaz fjord
#

Check your code not the error

stone steppe
#

I have.

abstract mango
#

you're not supposed to use 2 .catches

topaz fjord
#

trying to use .catch after a semi colon

#

And what no u daid

#

Said

abstract mango
#

you use one or the other

shrewd totem
#

You can but you're terminating it in the wrong way.

#

Remove the

.catch(console.error);
``` part.
stone steppe
#

It doesn't like: .catch again.

shrewd totem
#

Or just the ;

topaz fjord
#

Because you don't need to catch twice

stone steppe
#

@shrewd totem Removing it entirely worked

topaz fjord
#

You only need to catch once

stone steppe
#

Its back online.

shrewd totem
#

And you should probably learn JS before writing bots.

stone steppe
#

I have learnt it without having it join channels xd.

#

Its returning as: undefined

frozen bough
stone steppe
#

Oh shit - lemme reset permisions

topaz fjord
#

If you did you wouldnt be having problems zoomeyes

stone steppe
#

shhh

topaz fjord
#

@frozen bough I saw the first time idk the lang

#

No shhh

#

Learn js first

stone steppe
#

Will not respond..

topaz fjord
#

Because in my book I count this as spoon-feed

stone steppe
#

dead.

#

Welp Atom and CMD have crashed. #laptopcomputers am I right.. ffs.

topaz fjord
#

Nope

#

Laptops are generally good

stone steppe
#

Not mine.

glossy oracle
#

@stone steppe I'm reading the whole conversation, before continuing anything else you should take some real JS courses

topaz fjord
#

^

stone steppe
#

Yea I'll spend the next 48 hours doing that. 😃

glossy oracle
#

You must be able to use Promises perfectly

#

Yes you will

topaz fjord
#

You can't learn js in 2 days

glossy oracle
#

It's not McDonald's as far I know

stone steppe
topaz fjord
#

You actually has to give it time to learn

glossy oracle
#

More you'll spend time on learning a language more you'll be able to make nice stuff with

shrewd totem
#

You can. JS is not that difficult language.

stone steppe
#

Okie.

shrewd totem
#

Well, actually depends on person to person.

glossy oracle
#

What you're trying to do is like trying to drive a car without knowing how to drive a car

topaz fjord
#

Yeah

stone steppe
#

Well Thank you @shrewd totem @topaz fjord and later on @glossy oracle for all the help 😄 I'll take ur advice.

#

Goodnight!

glossy oracle
#

Good night

tiny turtle
#

any idea how to pull from en instead of de with xpath?
//*[@id="main-content"]/div/article/div/div/table/tbody/tr[1]/td[2]

#

`<td style="min-width:300px;white-space:inherit" class="well" data-lang-en="(2 items) Adds 1206 Maximum Health<br>(3 items) Adds 1096 Maximum Stamina<br>(4 items) Adds 4% Healing Taken<br>(5 items) When you interrupt a casting enemy, you heal for 4300 Health and apply Minor Vulnerability to the enemy for 10 seconds, increasing their damage taken by 8%." data-lang-de="
(2 Gegenstände) Gewährt 1206 maximales Leben<br>(3 Gegenstände) Gewährt 1096 maximale Ausdauer<br>(4 Gegenstände) Gewährt 4&nbsp;% erhaltene Heilung<br>(5 Gegenstände) Wenn Ihr einen Feind unterbrecht, der gerade eine Fähigkeit wirkt, dann heilt Ihr Euch um 4300 Leben und belegt den Feind 10&nbsp;Sekunden lang mit kleinere Verwundbarkeit, wodurch sich dessen erlittener Schaden um 8&nbsp;% erhöht.
">

                    (2 items) Adds 1206 Maximum Health<br>(3 items) Adds 1096 Maximum Stamina<br>(4 items) Adds 4% Healing Taken<br>(5 items) When you interrupt a casting enemy, you heal for 4300 Health and apply Minor Vulnerability to the enemy for 10 seconds, increasing their damage taken by 8%.
                
                
                </td>`
prime cliff
#

What in the heck am i reading 👀

tiny turtle
#

I keep getting the DE as seen in the screen shot when I want the EN

mental willow
#

i am trying to get my bot to add songs to a queue and then start playing the queue after the first song is played. the bot also stops working when i try to add a song to the queue and says that bot is already connected to a VC in this server

here is my code

@bot.command(pass_context=True)
async def play(ctx, url):
    if not playing:
    #may be Pointing to the wrong thing?
        author = ctx.message.author
        voice_channel = author.voice_channel
        vc = await bot.join_voice_channel(voice_channel)

        player = await vc.create_ytdl_player(url)
        player.start()
    if playing:
        new_vid = queue[0]
        #make the program play new_vid using youtube_dl
    else:
        queue.append(url)```
bleak sapphire
#

i need help, can anyone tell me how to use the config vars thing on heroku? the language im using for my bot is python

glossy mason
#
from os import environ

environ.get("NAME_OF_THE_CONFIG_VAR")  # to use however you want
bleak sapphire
#

ty so much

idle grail
#

Whats an alternative?(It brings up an error)

drifting shell
#

-help

#

ok I regret that

#

-botinfo @worthy marten

gilded plankBOT
#

Please include a bot mention

drifting shell
#

-botinfo @worthy marten

gilded plankBOT
#
Bot info <:dblCertified:392249976639455232>
ID

329668530926780426

Username

Sheepy

Discriminator

9008

Short Description

A cute multi-purpose bot for music, economy, levels, temp voice channels, and more! Sheepy 2.0 Coming Soon™

Library

JDA

Prefix

(customizable)

Upvotes

62

Server Count

2748 Servers | 4 Shards

Owner(s)

@deft galleon dblCertifiedDev
@drifting shell dblCertifiedDev

uncut slate
drifting shell
#

sry lol

earnest phoenix
#

@idle grail what's the error ?

#

Btw you can do if (member.roles.includes("Admin") || second things || third one) return true;

idle grail
#

No

#

That doesn't work

#

member.roles.includes("") isn't a thing

#

@earnest phoenix

glossy mason
#

I haven't worked with discord.js, but looking at the docs quickly it says .roles is a Collection and doesn't mention .includes(thing) but mentions .has(thing), does it work if you say has instead of includes? @idle grail

idle grail
#

Oh

#

I didn't do that

#

i did this: member.roles.map(r => r.name).includes("Administrator")

#

And it seems to work

#

now i got a new problem

#

In which the bot stopped working XD

earnest phoenix
#

who use nodejs?

west current
#

I use it, I can help you if you use Discord.JS

#

Or Eric, but not that good

earnest phoenix
#

uuuughhhh
Why isn't this working?

My code -

const dbl = require("dblposter");
const DBLPoster = new dbl("token");
DBLPoster.bind(voidClient);```
#

voidClient is my client

trim plinth
#

you can use the dblapi.js that was made by tonkku instead of dblposter

earnest phoenix
#

ok

topaz fjord
#

for anyone using vscode is there a way to fix intellisense, mine randomly stops working, Ive tried reinstalling

#

btw in using insiders

trim plinth
#

have you tried using stable

#

it might just be a issue with insiders

gleaming summit
#

Help. I am really tired.

#

I want to set variouses but I can't

#
translate(react, {to: 'en'}).then(res => {
    switch (res.from.language.iso) {
      case 'ko':
        var messageTitle = '아스키'
        var messageContent = 'ASCii 문자열을 전송합니다. 인수는 영문 문자열입니다.'
        var errorTitle = '오류'
        break;
      default:
        var messageTitle = 'ascii'
        var messageContent = 'Send ASCii artworks. Argument is string.'
        var errorTitle = 'Error'
        break;
    }
  })
  if (!args[0]) {
    message.channel.send({embed: {
      color: 4620980,
      title: `${messageTitle}`,
      description: `${messageContent}`
    }})
    return
  }
#

I used this code

#
2018-03-17T08:13:12.939077+00:00 app[worker.1]: /app/react/ascii.js:24
2018-03-17T08:13:12.939115+00:00 app[worker.1]:       title: `${messageTitle}`,
2018-03-17T08:13:12.939116+00:00 app[worker.1]:                 ^
2018-03-17T08:13:12.939119+00:00 app[worker.1]: 
2018-03-17T08:13:12.939124+00:00 app[worker.1]: ReferenceError: messageTitle is not defined
#

But got this..

#

😭

earnest phoenix
#

@gleaming summit messageTitle is not defined where you send the message

#

out of scope

gleaming summit
#

@earnest phoenix Thank you for helping me

earnest phoenix
#

np

glossy oracle
#

Sometimes people should read the console

earnest phoenix
#

-help

analog walrus
#

Yeag

#

Console is a useful thing

dense coyote
#

.

bleak sapphire
#

@glossy mason Wait how do i use this?

from os import environ

environ.get("NAME_OF_THE_CONFIG_VAR")  # to use however you want
#

where should i put the environ.get("BOT_TOKEN")

shrewd silo
#

?

#

You set the envoirment variable BOT_TOKEN to you token

bleak sapphire
#

i already did it though

shrewd silo
#

so you should do client.run(eviron.get("BOT_TOKEN")) if your main discord.Client() is called client

bleak sapphire
#

oh ok ty

#

great it works now ty so much

tidal grove
#

does anyone know how to put the bot respond from a blue box like beta version

#

from python

worthy storm
#

what

#

are you using the random library i've never heard of provided by dbl or Discord.py

#

@tidal grove

tidal grove
#

ye

#

@worthy storm

worthy storm
#

which one barry

tidal grove
#

wait

#

@worthy storm no problem can u help me with another thing

worthy storm
#

um ok

#

@tidal grove

#

im a bit busy & wont reply after xx06

#

goes dnd

#

👋

tidal grove
#

i need help reagrding how to make ranking up system with a put like if we put 1 mssge its a 1 exp @worthy storm

#

:d

#

pls help

worthy storm
#

help yourself. read the docs

tidal grove
#

wht doc

#

s

gusty topaz
#

to make a ranking up system, count the amount of messages for every user

worthy storm
gusty topaz
#

and save it in some sort of database

worthy storm
#

seriously just read the documentation mate

gusty topaz
#

How to do it? Use google

tidal grove
#

@worthy storm i couldnt find any doscs regarding this

gusty topaz
#

counting messages and saving to database

worthy storm
#

there is not a tutorial for fixing your inability to assemble python code by using the documentation

#

learn python

tidal grove
#

@worthy storm i couldnt find any doscs regarding this

worthy storm
#

here's tag lp

tidal grove
#

😦

worthy storm
#

(tag learnpython, from the d.py support server (where you should be))

gusty topaz
#

there isnt a function to make a ranking system. Again, Count amount of messages sent by a user and save the amount somewhere

solemn yoke
#

can someone help me

trim plinth
#

you don't have to ask for someone to help you just ask

solemn yoke
#

for some reason it just doesnt read my command folder and straight goes to error

trim plinth
#

hmm

tidal grove
#

😮

solemn yoke
#

did client.command.get(command).execute(message, args); just not execute for some reason or am i missing something thonkku

trim plinth
#

you defined command twice

#

both using const

#

@solemn yoke

frail harness
#

Oh

solemn yoke
#

oh facepalm

trim plinth
#

that might be the issue

karmic parcel
#

they should ahve different scopes

#

that shouldn't be the issue

#

at least, I don't think so

solemn yoke
#

yeah thats what i think too idk.

trim plinth
solemn yoke
#

im a noob oliy

karmic parcel
#

how many commands do you have?

#

approximately

#

like 10ish or so?

solemn yoke
#

2 right now

#

ping and args-info

karmic parcel
#

o

#

so that shouldn't take long either

solemn yoke
#

keeping it simple until i fixed it

#

well it just keeps going to error execute

karmic parcel
#

what's the error?

solemn yoke
#

like when you did not type the command correct, it will give a message. but the thing is i type it correctly but it counts as wrong

frail harness
#

@solemn yoke I know absolutely nothing about JS, but when doing require('file'), do you have to specify which function in that file you have to require?

solemn yoke
#

uhh. no if i recall

frail harness
#

Oh

shrewd totem
#

No, not required.

solemn yoke
#

at most i do module export in the file where all the commands are

#

individually

karmic parcel
#

uhh hmm, is it open source?

solemn yoke
#

no

frail harness
#

Wait, send a screenshot of one of the command files

shrewd totem
#

What's the issue?

frail harness
#

scroll up

solemn yoke
#

uhh it keeps just going to execute error text @shrewd totem

shrewd totem
#

Can you show the screenshot of the error?

solemn yoke
#

umm its not that kind of error

#

you know when a user type wrongly the prefix or command

#

there will be reply that you did type wrongly

#

it just constantly tells you your wrong when im not lol

#

basically skipped 1/3 of my codes

karmic parcel
#

It's because of client.command

trim plinth
#

@solemn yoke it isn't very good practice to tell the user if they did a incorrect command, its better to fail silently

karmic parcel
#

when you used client.commands in set up top

#

maybe

shrewd totem
#

You need to show your message event listener. Can't say what's wrong there without seeing that.

karmic parcel
#

client.command vs client.commands?

#

maybe

frail harness
#

@shrewd totem scroll up

solemn yoke
karmic parcel
#

line 36

#

client.command

#

shouldn't that be client.commands

solemn yoke
#

line 36 is taking from the const command

karmic parcel
#

?

solemn yoke
#

commands is the file directory

trim plinth
solemn yoke
#

thonkku sorry if i trigger people me noob

karmic parcel
#

is what I'm suggesting unreal?

frail harness
#

@solemn yoke wait what. if(commands.args && !args.length)

karmic parcel
#

shouldn't it be client.commands.get

#

?

shrewd totem
#

client.command is undefined

#

Use client.commands

#

See line 6

solemn yoke
#

ok

#

let me check uhh as for adam.. uh

#

yey

frail harness
#

?

solemn yoke
#

that is for

#

commands with arguements requirements

shrewd totem
#

As you see in line 6, it's defined as client.commands, so in line 36, use client.commands.get()

solemn yoke
#

i changed it

#

and

#

it still executes last code

shrewd totem
#

Which part did you change?

solemn yoke
#

line 36

shrewd totem
#

Can you show what error you're getting in your console? That'd be much helpful

solemn yoke
#

lol literally i mean error is they reply i type the command wrong

shrewd totem
#

No, in your console

solemn yoke
#

there is no error in console

#

it is just executing the last row the command

#

the catch

#

but not the ones before the catch

shrewd totem
#

There's a console.error(error); line before that meow?! line, so it should be logging something!

karmic parcel
#

like to your console

#

computer/VPS whatever you are running it on

solemn yoke
glossy oracle
#

(Read the error first)

shrewd totem
#

That's what I was asking for

trim plinth
#

How do you fetch the user mentions out of a message in Eris thonkku

shrewd totem
#

Understand the error Joel?

solemn yoke
#

thonkku not really..

frail harness
#

@solemn yoke console.log the command name

#

And then show us the console

glossy oracle
#

Cannot read property username
OF
undefined

karmic parcel
#

it says your command isn't defined

shrewd totem
#

In your try block, before line 36, use console.log(command) and show the output.

solemn yoke
#

well.. ok

frail harness
#

@shrewd totem >what I just said

shrewd totem
#

Yeah, I just saw

solemn yoke
shrewd totem
#

You're using the ping command?

solemn yoke
#

zoomeyes yes

#

i feel dumb af tbh

karmic parcel
#

it's just the name of the file, maybe?

#

it doesn't look like it's taking the object you were trying to load

solemn yoke
#

yeah :(.

shrewd totem
#

Before line 36, use console.log(client.commands.get(command)) and show the output.

solemn yoke
#

zoomeyes what de

karmic parcel
#

something is bonked with your client.commands it seems

solemn yoke
#

am i just bad at coding or something

#

i think im just the problem hahaha

karmic parcel
#

meh, gotta learn sometime tbh

shrewd totem
#

Use console.log(client.commands) and show the output

solemn yoke
#

ok

karmic parcel
#

You have done your fair share of debugging, it seems

#

lol

solemn yoke
#

yeah the bot is triggering me

#

or did i made a sass bot idk

karmic parcel
#

always print out your stuff that is giving you issues

solemn yoke
#

finally

#

it told me something

karmic parcel
#

k3rn seems to be helping you get there, no point in everyone else saying the same thing

solemn yoke
#

but then again

shrewd totem
#

See there's no ping command in client.commands

#

That's why it's not being executed.

karmic parcel
#

o

#

uh in your ping file

shrewd totem
#

Check your ping command's file.

karmic parcel
#

try execute: function ()

shrewd totem
#

Are you exporting it correctly.

karmic parcel
#

instead

shrewd totem
#

That's not the issue, otherwise at least command's name should be exported.

solemn yoke
#

yeah i tried using it, it gave me more errors

#

but the ping pic is up there ^ uh

shrewd totem
#

Have you saved your ping.js file?

solemn yoke
#

yes

shrewd totem
solemn yoke
#

what i also click save and then reopen the file what

#

ze socery

shrewd totem
#

Okay, before line 12, use console.log(command) and show the output

abstract mango
#

🤔

solemn yoke
#

faceplam

#

yep

#

apparently

#

saving the complete folder is different from saving it individually

#

zoomeyes Visual Studio PLS

topaz fjord
#

You didn't know that ?

solemn yoke
#

thank you for dealing with my stupid problem 🙇

#

and my stupid self

shrewd totem
#

Also you should restart your bot after saving, if you don't have any programing watching for changes.

solemn yoke
#

🙇 yes. i will keep in mind that always

trim plinth
#

How to fetch the user mentions out of a message in Eris GWfroggyBlobWokeThink

shrewd totem
#

@trim plinth Use message.mentions

trim plinth
#

mk

merry wave
#

New to development all together but have some knowledge. But looking to make a quick clear messages command any quick tips?

ruby dust
#

what library are you using? @merry wave

merry wave
#

Currently Discord Bot maker but will be switching off once i get a grasp of everything

ruby dust
#

just by seing the first 4 words of your last message I already want to give up on you

merry wave
#

Yea I know, i'm new.

trim plinth
#

don't use DBM

#

you wasted your money on literal crap

merry wave
#

Nah my friend bought it and we "Share" an acct

trim plinth
ruby dust
#

just saying, discord bots can do everything what discord users can, and by knowing that, you can easily just go for choosing a programming language and just do WAY more than what discord bot maker provides

merry wave
#

Whats the best one to learn with?

ruby dust
#

there is no best, it's literal preference

trim plinth
#

if you are a beginner try js or python

#

if you want to go straight for a harder language go for it though

ruby dust
#

python is the easiest language out there, so you have big chances to go with that first

merry wave
#

Okay, then js is Java Script correct?

trim plinth
#

ye

ruby dust
#

I'm not really sure if js is easy tho, I went with python so I like that

#

¯_(ツ)_/¯

heady zinc
#

JS is almost as easy as python

trim plinth
#

Javascript was easy to pick up for me

heady zinc
#

so its a good choice for beginners

trim plinth
#

^

heady zinc
#

althrough js is shit sooo

trim plinth
#

eh

merry wave
#

Okay. Well thanks a bunch, gonna go learn me some python :p

ruby dust
#

js is more for website scripting, not really treated as a real programming language, I think

solemn yoke
#

tbh whats the difference even if i go with a harder language and a easier one?.

trim plinth
#

I would've rather went for a better language before getting sucked into the js blackhole GWchadThink

heady zinc
#

oof

#

it is a real programming language

#

i mean its not html ZoomEyes

ruby dust
#

true

trim plinth
#

it is a programming language but its better for website scripting than a full programming

solemn yoke
#

oo why is that?

ruby dust
#

yeah I meant that, just didn't know how to word it

gilded blaze
#

Who's to say that?

trim plinth
#

eh

#

it has its limits

solemn yoke
#

like? 😮

heady zinc
#

JS doesn't scale as easily as some other languages can

trim plinth
#

I'm going to drop this before I start a flame war

heady zinc
#

althrough it does scale

ruby dust
#

I heard a lot of people complaining about js being using for discord bot development, mainly from rythm bot devs, so I just went with their opinions cause I don't have my own

solemn yoke
#

yeah i just went with it too. cause idk which to go with

heady zinc
#

rythm lol, like java is any better

gilded blaze
#

wow

#

Java is pretty good

ruby dust
#

at least java is a real programming langauge and not used for website scripting

heady zinc
#

i mean

#

you can make a website with C++

gilded blaze
#

"real". There really isn't a fake.

heady zinc
#

and im psure its a real programming language

trim plinth
#

JS is a real programming language

ruby dust
#

make a website != script a website

heady zinc
#

im not even sure what is your point

#

a scripting language is a programming language ZoomEyes

#

but yeah

gilded blaze
#

^

solemn yoke
#

zoomeyes true

heady zinc
#

JS has its pros and cons

#

like any other language

trim plinth
#

^

ruby dust
#

yes

#

lol

trim plinth
#

yeah

heady zinc
#

this is technically development talk tho ZoomEyes

solemn yoke
#

i mean its our doubt development

#

we remove our doubt and develop closure

trim plinth
#

idk what you're on about there

solemn yoke
#

is alright.

#

im not that smart anyways lol.

trim plinth
#

nah I think its just the wording

manic iris
#

anyone know how to check someones id with disocrd js?

trim plinth
#

the message author's id?

manic iris
#

ya

trim plinth
#

if so its message.author.id

gilded blaze
#

I would look at the docs

manic iris
#

ah

gilded blaze
#

but ok

manic iris
#

kk

#

thanks

trim plinth
#

np

#

just check the docs next time

gilded blaze
#

If you want all message properties use the docs

ruby dust
trim plinth
#

he is using discord.js

ruby dust
#

yeah I just needed that out of the way

#

¯_(ツ)_/¯

trim plinth
#

mkk

solemn yoke
#
            console.error(error);
            message.reply('meow?!');
    }
});```
#

should i just make it return

#

it instead of replying

trim plinth
#

probably

gilded blaze
#

yes

trim plinth
#

mentions aren't fun

solemn yoke
#

true

south finch
#

Hi guys development isn't for you guys to hash out on what programming language is better. Everyone's opinions are different. think

trim plinth
solemn yoke
solemn yoke
trim plinth
#

yeah you did

solemn yoke
#

dammit.

trim plinth
#

in discord.js you do client.user.setActivity("string that you'd like here")

solemn yoke
#

oh...

trim plinth
#

actually no

gilded blaze
#

isn't activity game?

trim plinth
#

its activity lol

topaz fjord
#

Anyone know how to set vscode programming lang

inner jewel
#

it's activity

#

but the payload is sent as game

trim plinth
#

ik

inner jewel
#

the key is game

#

because renaming it would be a breaking change

#

which will most likely happen in gateway v7

trim plinth
#

@solemn yoke its setActivity lmao

solemn yoke
#

😮 oh

trim plinth
#

I got it wrong the first time

solemn yoke
#

woops. bangs head i need to relearn coding tbh

gilded blaze
topaz fjord
#

This always work

solemn yoke
#

oh thank you very much

topaz fjord
#

Fuck

#

Stupid link

trim plinth
#

@gilded blaze setGame is deprecated

#

its setActivity

gilded blaze
#

it isn't under setgame though

#

you use setpresence

trim plinth
#

I accidently put setPresence instead of setActivity

gilded blaze
#

not deprecated

#

yet

solemn yoke
#

thanks everyone

#

🙇

trim plinth
#

np

quasi marsh
#

@inner jewel I assume there is no eta on gateway v7?

inner jewel
#

nope

steel tinsel
#

how do i get an user object by providing a snowflake/mention?
well for the mention i know, but the snowflake...

tidal grove
quasi marsh
#

lang?

steel tinsel
#

sorry

#

discord.js

quasi marsh
#

I can't really help you then sorry

steel tinsel
#

no problem

shrewd totem
#

@steel tinsel You can do something like this:

// If the user is in the cache, do:
let user = client.users.get(snowflake);

// Otherwise
let user = await client.fetchUser(snowflake); // I recommend using this, because if user's already in the cache, it will get from the cache, otherwise it will fetch it.
steel tinsel
#

thanks

#

does it need to be await?

shrewd totem
#

Not necessarily, you can use promise chains like:

client.fetchUser(snowflake).then(user => {
  // Use the `user` variable here.
}).catch(console.error);
steel tinsel
#

ok

rose mesa
topaz fjord
#

i can barely read that

rose mesa
#

;-;

topaz fjord
#

can you past the actual code in a hastebin or smth

inner jewel
#

use an array

rose mesa
steel tinsel
#

are there any chances of breaking a script with a switch case?

#

my bot went crazy after i added something inside a switch

#

code

#

/app/server.js:135

  if(guild[guildid].badwords.some(word => message.content.includes(word)) ) {

                    ^

TypeError: Cannot read property 'badwords' of undefined

at Client.client.on (/app/server.js:135:21)

    at Client.emit (events.js:180:13)

    at MessageCreateHandler.handle (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/discord.js/11.3.2/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)

    at WebSocketPacketManager.handle (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/discord.js/11.3.2/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:103:65)

    at WebSocketConnection.onPacket (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/discord.js/11.3.2/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)

    at WebSocketConnection.onMessage (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/discord.js/11.3.2/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)

    at WebSocket.onMessage (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/ws/4.1.0/node_modules/ws/lib/event-target.js:120:16)

    at WebSocket.emit (events.js:180:13)

    at Receiver._receiver.onmessage (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/ws/4.1.0/node_modules/ws/lib/websocket.js:137:47)

    at Receiver.dataMessage (/rbd/pnpm-volume/768faaa2-1c53-4031-b548-770885ea090a/node_modules/.registry.npmjs.org/ws/4.1.0/node_modules/ws/lib/receiver.js:409:14)```
#

error

#

guildsettings.json:

{
  "snowflake": {
    
    "modroles": ["Admin"],
    
    "exemptroles": ["something"],
    
    "mutedrole": "Muted",
    
    "badwords": ["some", "words"],
    
    "modlogchannel": "9450985494894040589459"
  },
}```
rose mesa
#

hmm?

steel tinsel
#

with a script @earnest phoenix

rose mesa
#

lol

#

depends on the language anyways Joyy

nimble merlin
#

Hey, is there a way to make a decent botinfo command (in discord.py async)...the one that my bot has is manual input

hushed oyster
#

@nimble merlin look at embeds

nimble merlin
#

ik

#

it just started working

#

wait, what did I just say?#

#

Sorry, I thought you said this in a different channel

rose mesa
#

¯_(ツ)_/¯

ruby dust
#

what do you mean by manual input tho?

rose mesa
#

the reason i say for some reason 😂

ruby dust
#

what is commando?

rose mesa
#

discord.js/commando

ruby dust
#

I'm not js, sorry

rose mesa
#

k,

nimble merlin
#

@ruby dust I mean't that I had to use strings and not rely on a commands fetching data

#

By that I mean (for example) I didn't use ctx.message.author instead I would just use something like JackTEK

ruby dust
#

I'm on rewrite btw

#

you can take this as a reference and make your own

nimble merlin
#

absolutely perfect, thank you....this helps ALOT

ruby dust
#

altho my bot is not open source, and I just gave a peace of code Thonk

nimble merlin
#

yea, I know

ruby dust
#

it's just weird to me lol

nimble merlin
#

but its quite helpful

#

lol

ruby dust
#

anyway, how would I prevent a bot from replying to other bots using on_command event?

#

or is there some kind of other event?

nimble merlin
#

I have no idea what so ever

oblique sequoia
#

@ruby dust

ruby dust
oblique sequoia
#

put that in on_message

#

then after that check you have to process commands

ruby dust
#

ohh, so it didn't work with that before because I didn't process commands 🤦

#

what was the code for it again?

oblique sequoia
#

await bot.process_commands(message)

ruby dust
#

thanks

oblique sequoia
#

Put that at the end of on_message

ruby dust
#

yea ik

oblique sequoia
#

Just to make sure. That won't work in on_command

ruby dust
#

but wait

#

what if I have all events as a cog? like a different file separated from all commands, including on_message

oblique sequoia
#

I know what a cog is

#

it works the same way

#

but only one on_message needs process_commands

#

or else each one with it will process commands

ruby dust
#

hmm, I see

oblique sequoia
#

And just like on_command you don't need the event decorator in a cog

earnest phoenix
#

!sayembed its me

#

@signal ivy

south finch
#

bots dont work outside of testing channels and bothell

ruby dust
#

rip no embed, forgot

#

comon discord, don't be a douche and send my message

ruby dust
#

@oblique sequoia I'm back here, any solutions yet in mind?

potent lily
#

Okay so you need to do the return in your on_command hook too

ruby dust
#

I actually had that at first, but turns out it doesn't do what I thought it would

#

it's just an extra action taken that does not affect the original command in any way

potent lily
#

Use a debuger and see where he's going 🤷

terse quarry
#

Is there an OAuth2 Discord example for Python that isn't the one provided by Discord themselves?

abstract crystal
#

for what?

terse quarry
#

either flask or sanic (does anyone even know what sanic is?)

abstract crystal
#

i have a django lib

terse quarry
#

oh, rip

#

mind linking me anyways?

abstract crystal
#

i've forked it and modified it, because the original was broken

terse quarry
#

okie - thanks

#

would you say django is more complex than flask?

abstract crystal
#

no

#

at start yes

#

but it's easier afterwards

terse quarry
#

i'll give it a try, thanks for the suggestion

abstract crystal
#

i have my whole website of my bot and dashboard in django

terse quarry
#

nice

oblique sequoia
#

@ruby dust I have no idea, I think your best bet is to ask in discord.py

hushed oyster
#

hey guys

oblique sequoia
#

I can get you an invite if you want

hushed oyster
#

what's a website that you can use to make http requests

terse quarry
#

is the "write your first django app" a good tutorial to start out with @abstract crystal?

abstract crystal
#

YES!

terse quarry
#

OK!

abstract crystal
#

also keep in mind these things:

terse quarry
#

WHY ARE WE YELLING? /s

oblique sequoia
abstract crystal
#

whoops xd

terse quarry
#

lol

ruby dust
#

@oblique sequoia I just tried asking there, there was no point as they found out a different peace of code of mine to brag about instead, and now they are disqussing their own topic..

#

like I said, dapi and other related lib servers are pointless

oblique sequoia
#

OOH

#

no they did actually tell you the answer

inner jewel
#

jda guild is good

oblique sequoia
#

I forgot that if you don't put an on_message in your main file it doesn't overwrite the default one 🤦

ruby dust
#

all I understood from them is that I don't need to process commands, and that still didn't work

oblique sequoia
#

So in your main file

#

where you declare bot and everything

#

you need to put an on_message event with the @bot.event() decorator

#

then do the bot check and process commands there

ruby dust
#

🤔

oblique sequoia
#

unless you're subclassing bot

#

then I believe you do @self.event()

ruby dust
#
bot = commands.Bot(command_prefix = '-')
```🤔
oblique sequoia
#

yes wherever you have that at

#

put on message in there

ruby dust
#

that was my thought at first, but they said there wouldn't be a difference 🤦

oblique sequoia
#

no thats literally what they told you

#

i'm looking at the messages now

ruby dust
#

so, I'm simply moving the whole on_message to the main file?

oblique sequoia
#

no.

#

keep the other one

#

drop the process_commands and bot check bits

#

then make another one in the main file

ruby dust
#

oh, another one

oblique sequoia
#

that one needs the decorator though

ruby dust
#

yeah

oblique sequoia
#

then just do

if message.author.bot:
    return
await bot.process_commands(message)
ruby dust
#

ok here's a thing

#

it didn't respond to the other bot now, but the console printed AttributeError: 'Bot' object has no attribute 'provess_commands'

#

oh

#

I'm blind

abstract crystal
#

nice one

ruby dust
#

shh

#

nothing happened

oblique sequoia
#

Provolone_commands()

fresh shuttle
oblique sequoia
#
async def provolone_commands(self, message):
    return await self.process_commands(message)
ruby dust
#

ok, so... I don't want to ping any mods, but please unmute my bot @tawdry ember cause I'm about to fix the "bug" it was muted for

#

eh, @inner jewel since you were just here you get to be pinged, I guess

nimble merlin
#

I'm wondering how I use @commands.has_permissions()...when I place 'Administrator' within the parenthesis, the error message is @commands.has_permissions('Administrator') TypeError: has_permissions() takes 0 positional arguments but 1 was given ERROR:asyncio:Unclosed client session client_session: <aiohttp.client.ClientSession object at 0x056DBDF0> how do I fix this????

abstract crystal
ruby dust
#

I don't really remember, but it's either "Administrator" = True or Administrator = True

#

just add that True in there 😄

nimble merlin
#

ok

abstract crystal
#

if you wait a minute i can fish it out of my bot

nimble merlin
#

oh ok

#

oh did I forget to mention that i'm using async and not rewrite?

abstract crystal
#

oooooh

#

damn

#

why tho? xd

ruby dust
#

I'm pretty sure my friend uses async, and he does it the way I just told you to

abstract crystal
ruby dust
#

yeah, you just have to add that bool

abstract crystal
#

in rewrite is like this, try it

nimble merlin
#

ok

earnest phoenix
#

hi there

abstract crystal
#

@ruby dust exacly

earnest phoenix
#

was told to use this cannel

#

what's going wrong? I don't undertsand what it's telling me

abstract crystal
#

somewhere you have an uncaught promise

ruby dust
#

you'd be better to show the code without leaking the sensetive information, like bot token

#

gosh, I can't send a normal message without editing it for mistakes

abstract crystal
#

timezone?

earnest phoenix
#

@abstract crystal what's an uncaught promise exactly?

frail harness
#

Nice editor

ruby dust
#

yeah well I'm into python, not js, sorry

trim plinth
#

that looks short for a token

ruby dust
#

oh yeah

abstract crystal
#

same here, mainly web js

frail harness
#

That's because they're userbotting

#

Bearer tokens are shorter than bot tokens

trim plinth
#

oh wow

ruby dust
#

no, user tokens are as big as bot token

nimble merlin
#

why I try to run a command that checks for the administrator permission, it comes back saying that the check failed even though I have the permission....

earnest phoenix
#

it's literally copy pasted code that the tutorial says to copy just to test if the setup works

trim plinth
#

@earnest phoenix are you trying to selfbot

earnest phoenix
#

and I'm not userbotting

#

@trim plinth I'm not

frail harness
#

kek

trim plinth
#

mk

#

just making sure

ruby dust
#

@earnest phoenix you copied a secret, not a token

abstract crystal
#

where did you get your bot token @earnest phoenix

trim plinth
#

^

earnest phoenix
#

probs client id

#

ayy lmao

frail harness
#

lmaoooo

trim plinth
#

client id or secret

#

because we all know that tokens aren't that short

abstract crystal
ruby dust
#

that's what she said

trim plinth
#

@ruby dust don't

earnest phoenix
#

didn't copy secret

frail harness
#

Lmao

earnest phoenix
#

those reds are the same

frail harness
#

Copied id

abstract crystal
#

won't work

trim plinth
#

@earnest phoenix you copied id, not token

earnest phoenix
#

ah fuick

abstract crystal
#

you must have a bot account, convert it somwhere in the bottom then copy the BOT TOKEN

ruby dust
#

@earnest phoenix

  1. there is no point in hiding the client id
  2. that's a client id, not a token
trim plinth
#

@ruby dust he thought that was sensitive information so he hid the id

earnest phoenix
#

shit werks, yo

#

thanks

trim plinth
abstract crystal
#

OMG I leaked @ruby dust client id: 415570038175825930

ruby dust
#

xD

#

oh no

#

don't hack me bro

frail harness
#

Oml I just leaked @trim plinth's ID:
387043512232968193

abstract crystal
earnest phoenix
nimble merlin
#

lol

trim plinth
#

fuck im hacked for sure

nimble merlin
#

lol

abstract crystal
#

zulul

earnest phoenix
#

w e r k s

trim plinth
#

anyways this is getting shitposty

frail harness
#

Ye

trim plinth
#

lets retreat before a mod gets mad

nimble merlin
#

yea

#

sigh.....

ruby dust
#

so anyway, @earnest phoenix a bot token can be found somewhere at the end of the bot's page

nimble merlin
#

Anyway, when I try to check for a permission, the check fails even though I have that permission

earnest phoenix
#

yeah I found it the second I realised I'd copied the id

#

thanks @ruby dust

abstract crystal
#

show us the code

#

pls

nimble merlin
#

k

raw wharf
nimble merlin
#
             aliases=['MUTE', 'Mute'])
@commands.has_permissions(Administrator=True)
async def mute(ctx, user: discord.Member):
    embed = discord.Embed(title='Mute Case:', description='{} Muted'.format(user.name), color=0xffee00)
    embed.add_field(name='Name:', value='{}'.format(user.name), inline=True)
    embed.add_field(name='ID:', value='{}'.format(user.id), inline=True)
    embed.add_field(name='Status:', value='{}'.format(user.status), inline=True)
    embed.add_field(name='Role:', value='{}'.format(user.top_role), inline=True)
    embed.set_thumbnail(url=user.avatar_url)
    await bot.send_message(discord.Object(id='423890604645285888'), embed=embed)
    role = discord.utils.get(ctx.message.server.roles, name='Muted')
    await bot.add_roles(user, role)```
ruby dust
#

btw, getting your or your bot's id is as simple as rightclicking on the account and copying the id, so it's completelly pointless to hide it @earnest phoenix

nimble merlin
#

yea

abstract crystal
#

have you tried administrator instead of Administrator

nimble merlin
#

nope

#

but I can

#

lol

abstract crystal
#

do

trim plinth
#
@bot.command(pass_context=True,
             aliases=['MUTE', 'Mute'])
@commands.has_permissions(Administrator=True)
async def mute(ctx, user: discord.Member):
    embed = discord.Embed(title='Mute Case:', description='{} Muted'.format(user.name), color=0xffee00)
    embed.add_field(name='Name:', value='{}'.format(user.name), inline=True)
    embed.add_field(name='ID:', value='{}'.format(user.id), inline=True)
    embed.add_field(name='Status:', value='{}'.format(user.status), inline=True)
    embed.add_field(name='Role:', value='{}'.format(user.top_role), inline=True)
    embed.set_thumbnail(url=user.avatar_url)
    await bot.send_message(discord.Object(id='423890604645285888'), embed=embed)
    role = discord.utils.get(ctx.message.server.roles, name='Muted')
    await bot.add_roles(user, role)
``` heres color
ruby dust
#

doesn't it have to be a string tho?

trim plinth
#

it was triggering me

abstract crystal
#

hehehe same, but didn't bother

nimble merlin
#

it worked lol

abstract crystal
#

python rules... params are in lower case

ruby dust
nimble merlin
#

ohhhh yeaaaaa

#

ok, ty 😃

abstract crystal
#

oi he is on async

ruby dust
#

oh god damn it

abstract crystal
#

(it's the same)

#

(mostly)

nimble merlin
#

lol

ruby dust
#

manage_guild != manage_server

nimble merlin
#

i'm good anyway

abstract crystal
#

convert to rewrite

#

pls

nimble merlin
#

ik the rest now anyway

earnest phoenix
#

yes use rewrite

#

async old asf

nimble merlin
#

nope

earnest phoenix
#

doesnt even have nsfw checking functionality

nimble merlin
#

ik

ruby dust
#

oh that reminds me, I wanted to make nsfw commands 😂

nimble merlin
#

it's annoying that there is no NSFW cjeck in async

abstract crystal
#

which is quite essential

nimble merlin
#

lol

#

depends

unique star
#

It doesnt have one bc async is not being update and will never be updated

frail harness
#

Rewrite is 😩

nimble merlin
#

I don't like migrating to rewrite because it takes soooooo long

unique star
#

which is why rewrite exists

earnest phoenix
#

yeah async is feature frozen

abstract crystal
nimble merlin
#

ik

#

but I have about 1000 lines of code to check if I did

#

so i'm not