#development

1 messages ยท Page 467 of 1

knotty steeple
#

and code snippets

earnest phoenix
#

syntax highlighting tickYes code completion tickYes dark theme tickYes sftp plugin tickYes linting tickYes

pale marsh
#

Honestly

earnest phoenix
#

must be N++

pale marsh
#

It assigns wrong types in python

#

And fucks up intellisense

knotty steeple
#

vsc isnt for python wew

#

also

#

it uses jsdoc

pale marsh
#

vsc is an editor

#

It's for many stuff and not limited to only one environment

quartz kindle
#

notepad++ is good, very customizable, supports themes and custom color schemes as well

#

no reason not to go with it

slender thistle
#

@grizzled scarab Yeah, if it's a cog

#

:^)

#

in your __init__ thing

grizzled scarab
#

Ok

restive panther
#

Hello, how can we do (javascript / discord.js) an option to delete messages because of words, can I or they are?
Exmple, I want to delete all the messages that contain the word "pizza", and that I say "I like cold pizza" (sorry for the example) what will the code please?

lament meteor
#

@restive panther we arent gonna spoon feed you

restive panther
#

only a question !!!

#

๐Ÿ˜ญ

knotty steeple
#

check if a message includes pizza

#

if it does try to delete the message

restive panther
#

ok

#

thanks

#

message.includes ?

earnest phoenix
#

is message a string? @restive panther

knotty steeple
#

no

earnest phoenix
#

SHHH ๐Ÿ˜ก

knotty steeple
#

you have to check message content

earnest phoenix
#

spoonfeed ๐Ÿ˜ก

knotty steeple
#

its not spoonfeed but ok

restive panther
#

Sure ? it does not work if it's in the middle of a sentence!

earnest phoenix
#

send code

knotty steeple
#

pretty sure includes is for arrays btw

restive panther
#

wait

knotty steeple
#

but idk it works with a string

earnest phoenix
#

yes it does

knotty steeple
restive panther
#

Ho , yes , thanks

knotty steeple
#

yea i know

restive panther
#

and ?

knotty steeple
#

im not talking to u xd

topaz fjord
#

Nice visual @earnest phoenix

earnest phoenix
#

just helping people learn to think with their head

knotty steeple
#

cuz my badges are a string and i use includes to check if someone has that badge already

earnest phoenix
#

like "thonk which property could be the content of the message?"

knotty steeple
#

if not give badge

restive panther
#

So ??? I must do what ๐Ÿ˜ญ

earnest phoenix
#

you must use .includes on the message content

#

and check if it includes your desired substring

restive panther
#

ok

#

so : if (message.includes("pizza").delete ?

floral zinc
#

Uh

knotty steeple
#

you must use .includes on the message content

#

message

#

content

#

message isnt message content

earnest phoenix
#

no no no stops

knotty steeple
#

boi

floral zinc
#

you cant check if a function is true lul

earnest phoenix
#

@restive panther message is not a string like a word

knotty steeple
#

you can

restive panther
#

๐Ÿ˜ญ

floral zinc
#

?

knotty steeple
#

if the function returns true

#

or false

earnest phoenix
#

poor guy never learned what a string is PepeHands

floral zinc
#

But content returns a string ay?

earnest phoenix
#

oof

knotty steeple
#

ye

floral zinc
#

And delete doesnt return a boolean either

earnest phoenix
#

deleting properties zoomeyes

#

rip performance

#

@earnest phoenix what is that avatar

restive panther
#

if (message.content.includes("pizza") ?

knotty steeple
#

yes

restive panther
#

ok !

earnest phoenix
#

syntax error expected ) EZ

floral zinc
#

You missed a ) luuul

restive panther
#

tanks

knotty steeple
#

but uh ur missing a )

restive panther
#

yes

#

i know

floral zinc
#

Ok

earnest phoenix
#

he got it guys peepoClap

#

PEPO

knotty steeple
#

i wonder if he knows how to delete the message

restive panther
#

So , for delete the message is " if (message.content.includes("pizza")).clear !

quartz kindle
#

@_@

knotty steeple
#

no

earnest phoenix
#

Basically i dont do it aleardy cause i dont know how to remove tr bot from all servers

#

Or make a mensage appear in all servers

knotty steeple
#

@quartz kindle same tbh

earnest phoenix
#

@knotty steeple you had to teach my the same thing

#

There is no away to remove my bot from all servers?

quartz kindle
#

there is

earnest phoenix
#

delete it

knotty steeple
#

loop through guilds

earnest phoenix
restive panther
knotty steeple
#

what if he doesnt want to delete it

earnest phoenix
#

Im talking about a command

restive panther
#

but you can't use you too

earnest phoenix
#

Example

quartz kindle
#

why would you want a command like that

knotty steeple
#

loop through guilds and remove

shy verge
#

holy poggers batman

earnest phoenix
#
       Something to delete..```
#

How to remive

#

Thats the question ^^

quartz kindle
#

portugal caralho remove what? leave the server?

earnest phoenix
#

Yup

knotty steeple
#

remove the bot from the server

earnest phoenix
#

@quartz kindle tuga?

knotty steeple
#

idk about python but uh

quartz kindle
#

+/-, also english only here

earnest phoenix
#

To be honest my bot is running in a server and idk how to shutdown it ๐Ÿ˜… ๐Ÿ˜…

#

guild.leave() GWpingKanyeLUL

#

Server.leave

shy verge
#

lol just

foreach(SocketGuild guild in Context.Client.Guilds)
    await guild.LeaveAsync();

wait fuck you use python

earnest phoenix
#

Guild is for rewrite version

#

๐Ÿคฆ

shy verge
#

but it really is as simple as that loop

earnest phoenix
#

Bt documentation dont have a single example

shy verge
#

if you're actually proficient at python then you should easily he able to translate an idea in one language into another

knotty steeple
#

if you cant help dont

earnest phoenix
#

how did my bot get approved when I forgot
if (msg.author.bot) return;

shy verge
#

@earnest phoenix cause it's not required

knotty steeple
#

mods dont decline bots if they respond to other bots

earnest phoenix
#

it used to be

#

they used to

knotty steeple
#

im pretty sure they didnt

earnest phoenix
#

Why has every rule changed

shy verge
#

they require a bot filter for cert

knotty steeple
#

not approval

earnest phoenix
#

used to

#

they would mute bots for responding to other bots

shy verge
#

and if they did change the approval rules then it's probably because the average competence of bot developers has dropped massively lately

#

thanks djs

earnest phoenix
#

I will do a 'bot' to remove it from all servers and let a message

shy verge
#

what

#

why

earnest phoenix
#

^^

#

cant code tickYes mass message tickYes leaving all servers tickYes whitename tickYes totally not a compromised bot tickYes
must be DBL dev chat

#

guild.leave()
This is a thing right

#

Yup

#

Only one who really helped ^^

shy verge
#

can we pin what tom just said

earnest phoenix
#

Bt

#

Rewrite is that

#

Await is server.leave()

#

Soo

restive panther
#

so , how I need to do ๐Ÿ˜… if (message.content.includes("pizza")) {
message.delete()
} ??????

earnest phoenix
#

Rewrite Version: guild.leave()
Await Version: server.leave()

restive panther
#

yes ... I thinks

#

and , for delet ?

#

delete

knotty steeple
#

yea thats right

restive panther
#

because it's don't work

knotty steeple
#

its good

shy verge
#

wait isn't the await lib deprecated af

earnest phoenix
#

Await is the stable one i think

shy verge
#

what

earnest phoenix
knotty steeple
#

no

gilded blaze
#

You could use the in operator instead of includes.

knotty steeple
#

await is hella depreciated iirc

#

and rewite is the newer version

restive panther
#

ok

earnest phoenix
#

no .includes is correct

#

Anyway i use await

#

MDN string prototype includes

#

Any example for a cooldown system?

solid cliff
#

Async* ๐Ÿ˜ฉ and need to await server.leave() too

restive panther
#

thanks @earnest phoenix

earnest phoenix
#

Yup

#

you are returning a function @earnest phoenix redx

knotty steeple
#

delete is a function

restive panther
#

๐Ÿ˜ญ

solid cliff
#

@commands.cooldown(1, 5, commands.BucketType.user)

earnest phoenix
#

Python?

solid cliff
#

Yes

earnest phoenix
#

Ok tyy

#

lmao

#

Wait

#

I dont use commands

#

how do you make cooldowns in djs

#

I use client.event

restive panther
#

So , what I need to do PLEAS

solid cliff
knotty steeple
#

well what i do is

gilded blaze
#

Universally you need to store when the user used it and if they use it again check the time difference.

knotty steeple
#

i make a set and then when someone runs a command add them to the set then if they try to run the command and they are in the set return a cooldown message

earnest phoenix
#

@solid cliff that dont work to client.event?

#

@earnest phoenix pseudocode:

on message
    if using a command
        has this user ID used this command x number of times in the last y number of seconds?
            return;
knotty steeple
#

and i use settimeout to remove them from the set after a couple of seconds

solid cliff
#

Won't work needs commands to be used

earnest phoenix
#

And i died

knotty steeple
#

thats how my cooldown works GWfroggyPepoThumb

earnest phoenix
#

I use client.event

#

There is no away?

solid cliff
#

Can implement your own by getting last command use time and current

earnest phoenix
#

Too much advanced to me but i will search

restive panther
#

if (message.content.includes("pizza"))message.delete; d'ont work

#

crash all the time

spring ember
#

You need space

earnest phoenix
#

if (message.content.includes("pizza")) {message.delete}

restive panther
#

sure ?

spring ember
#

It works too

earnest phoenix
#

that works for me

spring ember
#

if (message.content.includes("pizza")) message.delete

restive panther
#

ok

spring ember
#

Should work

knotty steeple
#

delete is a function GWqlabsNotLikeNoot

spring ember
#

Oh

restive panther
#

so ?

topaz fjord
#

Shouldn't it be .delete()

knotty steeple
#

it should

spring ember
#

And aeait

#

await

earnest phoenix
#

message.delete peepoAngry not working

knotty steeple
#

@restive panther i have a class for you

earnest phoenix
#

if(code) {msg.delete();}

restive panther
#

?

knotty steeple
#

there is this thing called sololearn

earnest phoenix
knotty steeple
#

when you can actually learn javascript

#

its very nice

restive panther
#

-_-

knotty steeple
#

im learning python with sololearn also lmao

restive panther
#

ok

knotty steeple
#

i used tutorials to learn js

topaz fjord
#

I'll probs learn Java on sololearn

knotty steeple
#

make a game in java

earnest phoenix
#

i mean once u know one programming language learning another is so easy

topaz fjord
#

^

earnest phoenix
#

problem with all these online tutorials is most people 1) dont bother actually finishing or understanding them

#
  1. most are 12yo makign discord bots and dont have the capacity
topaz fjord
#

We all have to learn from the creator of the language mmLol @earnest phoenix

knotty steeple
#

yes

#

lmao

#

no

#

...

#

im gonna go work on my thing

#

its basically starboard except its not

topaz fjord
#

@earnest phoenix it's @grave sonnet

earnest phoenix
#

did u read it? mmLol

#

I think I need another bot my main one if ruined

#

if u did and u dont get it, send here

#

and we will help

#

error pls

#

i mean the first if will always be true

#

becaise args[0] is most likely a string

#

so isNaN will be true

#

client.users.get(${args[0]}).send(embed);

knotty steeple
#

it cant get the user

earnest phoenix
#

you are getting a user that doesnt exist

knotty steeple
#

most likely

earnest phoenix
#

send the error

#

the stack trace yes

#

do I make a premium version of my bot?

#

why would someone pay for NSFW

#

ok so channel is undefined @earnest phoenix on line 3

#

are you sure that message is a message obejct

#

so no

#

what are you passing to the command as message

#

aka where are you using .run(...) for that command

#

yes but where are you using it in your command handler/mssage evvent or whatever

#

ok so send the line where you use it

#

ok so you are passing 5 arguments

#
...
exports.run = (client, args, message) => {
...
...
 commands.run(client, message, args, ops, func, prefix);
...
#

so you are passing it in the wrong order

#

no, just look

#

they need to be in the same order facepunch

#

great, i got a dm ahyperpingnom

#

no from the president

#

๐Ÿ‘Œ

lone orchid
#

how do i make my bot play local music file in a voice chat
and then leave when the file ends?

earnest phoenix
#
  • what lang + lib
  • what have you tried
  • are you getting an error
lone orchid
#

discord.js

west raptor
#

Have you tried anything?

lone orchid
#

nop

west raptor
#

Well

lone orchid
#

im trying rn

earnest phoenix
lone orchid
#

thru ffmpeg

earnest phoenix
#

y discord ๐Ÿ˜ก

lone orchid
#

?

earnest phoenix
#

my video didnt send nvm discord being stupid

vagrant pumice
#

Does anyone know how to make command for getting mentioned user avatar and sending it on chat?

earnest phoenix
#

yes, ill help

#

discord.js?

vagrant pumice
#

.py

earnest phoenix
#

rip somebody else can help :p

west raptor
#

Oof never done py

earnest phoenix
vagrant pumice
#

and i dont use .js because i have using
}
code here
}

#

or whatever that is

earnest phoenix
#

code blocks?

west raptor
#

?

vagrant pumice
#

something like that

#

imo python is better

earnest phoenix
#

anyone here use canvasjs for charts and know how to make it not make the canvas styled as position: relative; ?

slender thistle
#

@vagrant pumice Commands extension or event on_message? @vagrant pumice

vagrant pumice
#

on_message

slender thistle
#

Well, remove the <@ and > from the mention and you get the ID, then use get_user or get_member on it

#

Docs for more info :v)

quartz kindle
#

what do you mean @earnest phoenix

vagrant pumice
#

@slender thistle but can i get full example?

#

come to private

slender thistle
#

I have no idea what your command name is :^)

earnest phoenix
#

@quartz kindle well basically you give ID of a div and it puts the canvas inside, but sets it to relative/absolute for some reason

quartz kindle
#

really? never happened to me

earnest phoenix
quartz kindle
#

are you working with a blank/unstyled page/container?

earnest phoenix
#

no

quartz kindle
#

then check the css hierarchy, maybe there is some css rule assigning that to it

earnest phoenix
#

nah its the divs created by canvasjs

#

children of the one i give

#

and its stylign them that way

quartz kindle
#

ah the canvasjs lib

#

i havent used it, but i assume they do it for a reason. regardless you can override css styles set by packages

earnest phoenix
#

yeah i could

#

i mean only issue is that it goes over my navbar since its fixed position

#

but i acn just increase z-index i guess ๐Ÿคท

#

bandaid it lmao

quartz kindle
#

does it have negative top position? its position should be based on the nearest "relative" element

earnest phoenix
#

the navbar? no its top:0, and the canvas is wrapped in an inline-block div

#

i dont think i use relative anywhere else on my page at all

quartz kindle
#

well i'd have to see the structure you're using, but if navbar is already absolute, then yes you should use z-index

earnest phoenix
#

no its fixed

quartz kindle
#

the canvas should be inside a relative element, so its position is based on it, and not the page or whatever comes before

#

same for fixed, any of them will remove the navbar from the document flow, so anything else you have there will overlap it

#

if you have a fixed navbar, have the next element have a margin-top equal to the navbar height

earnest phoenix
#

yeah it is

#

i mean the positioning of the navbar and page is fine, just bugs me that the canvas overlaps if i scroll down

quartz kindle
#

ohh i see what you mean

#

then yes, use z-index, thats the correct fix

earnest phoenix
#

ahh ok ๐Ÿ˜‚ thanks

quartz kindle
#

or make the canvas part of the document flow by removing "position"

earnest phoenix
#

i would but it automatically makes those divs so z index works for me

quartz kindle
#

alright

earnest phoenix
#

and i cbf adjusting the style each render

#

not worth

#

just z index it haha

quartz kindle
#

btw, how do you organize your z-indexes? its funny to see how people do it xD

earnest phoenix
#

i dont use any apart from this atm

#

everything else is in the flow

quartz kindle
#

some people use: 1,2,3,4,-1, etc. other people use: 9,99,9999,999999 lmao

earnest phoenix
#

well if any real planing went into my page i would come up with some standard for my site

#

but rn i dont do it any particular way

quartz kindle
#

i do the 999 thing lmao

mortal anchor
#

.

low garden
#

HI

orchid horizon
#

I'm completely new to jda and have no idea what I'm doing, and it turns out I can't even import the lib without it saying it doesn't exist

inner jewel
#

what's the output of gradlew build?

orchid horizon
inner jewel
#

there's a button to the left of that which changes to text output

orchid horizon
#

"CONFIGURE SUCCESSFUL in 0s"

#

all that it says

inner jewel
#

can you run gradlew build (or ./gradlew build if you're on *nix) in the project root?

orchid horizon
#

yep

#

I installed jdk however

inner jewel
#

can you echo the JAVA_HOME env var?

orchid horizon
#

doesn't exist, that's probably why

#

Should I just set it to the install dir?

inner jewel
#

yes

#

the one with bin, lib, include etc folders

orchid horizon
#

alright

#

thanks

inner jewel
#

might also need an IDE restart to refresh env vars

orchid horizon
#

I'll just restart intellij

inner jewel
#

gradlew build --refresh-dependencies

orchid horizon
#

same error

#

nm realized what the problem was GWskarzzLUL

feral ember
#

litfam yeet

orchid horizon
#

thanks sanae

feral ember
#

it was an import issue

#

yw

sturdy chasm
#

so I'm having some trouble getting a switch case statement use a command with arguments correctly.
what I have is:

        const args = message.content.slice(config.prefix.length).trim().split(/ + /g);
        //const command = args.shift().toLowerCase();

        switch (args) {
            // Grimtooth's Info (aka, Grimtooth's Arrogance); working
            case "info" :
                Info.run(message);
                break;

    case "type" :
                                var typeSearch = Type.run(args[1]);

                console.log("Origin: " + typeSearch[0] + "\n" +
                            "Name: " + typeSearch[1] + "\n" +
                            "Suggested Biome(s): " + typeSearch[2] + "\n" +
                            "Trap Type: " + typeSearch[3] + "\n" +
                            "Trap Subtype: " + typeSearch[4] + "\n" +
                            "Deadliness: " + typeSearch[5] + "/5");
                break;```
then in the file it's calling to, I have:

```const List1 = require('../traparray.js');

module.exports.run = (args) =>{
    // makes a variable with what follows the command
    var trtype = args[1];
    // check to make sure this makes a list of results by search
    console.log("the slice worked.");
    const search = List1.run("fill").filter(result => result[3].find(thing => thing.includes(trtype)));;
    var rand = search[Math.floor(Math.random() * search.length)];
    return rand;
}```
the List1 is a 2 dimensional array, however the argument is to help it search for any rows that have a matching element in them, then choose one at random from that new list. I've tried the switch with (command), it won't do anything unless it's specifically ";type" all alone in 1 comment.
zealous veldt
#

you're giving it an array and then having cases based on strings

#

you need to do something like this javascript switch(args[0]) { case "type": blah blah blah code here break; }

#

actually, you're not even capturing what the command is

sturdy chasm
#

I've temporarily commented out command, because it was looking at args[0] exclusively

#

basically, a test

zealous veldt
#

o

sturdy chasm
#

so I had the switch(args) changed to switch(args[0]). It's doing the same thing that would happen with switch(command), where it wouldn't allow an argument to follow behind

latent willow
#

you should do the switch only on the command and pass the arguments later in the case block if you need them.
for example to get the text after a command (after the first space) you could define a extra variable:
let text = message.content.split(/[ ](.+)/)[1];

earnest phoenix
#

How do you make clickable links in richembed? like text is "Hello" you click hello it takes u to a website

neon swift
#

also, pretty sure they are call just embeds... If not, then show me an example of a poor embed

sick cloud
#

@neon swift there real name is Rich/MessageEmbed

neon swift
#

I think it's actually a meme, but yeah, calling it richembed is just a waste of 4 characters

bright spear
#

looks like in the developer documentation they use both "Embed" and "rich embed"

sick cloud
#

we all know it as an embed tho

sturdy chasm
#

so Xavin, any idea what that stuff in .split() does?

latent willow
#

yes it splits the string on the first space and takes index 1 (aka the right side of the split) if you ask about the var text =...

sturdy chasm
#

alright, so if I did var search = file.run(text);, would that work?

latent willow
#

idk what your file.run() method is but text will be for example if you type this:
<prefix>command hi there this is text --> var text will be 'hi there this is text'

#

try this and see what happens (replace the prefix and "command1" ofc)

//split message by space
let args = message.content.split(/[ ]+/);

//split on first space to get the text
let text = message.content.split(/[ ](.+)/)[1];

let cmd = message.content.startsWith(prefix) ? args[0].substring(prefix.length).toLowerCase() : undefined;

switch (cmd) {
  case "command1":
    console.log(cmd);
    console.log(text);
    break;
}
sturdy chasm
#

it doesn't return anything when text trails after the first space, however when there's nothing after it, it returns
" command1
undefined"

cold harness
#

How could you check if a user has voted for your bot using the dblpy lib?

latent willow
#

@sturdy chasm is shows you undefined bcs the text would be undefined in that case if you just use your command without anything after

sturdy chasm
#

I think the limiting factor may just be that the switch is looking for any message that matches the command to a T. In other words, it'll ignore ";command message", but it'll register ";command" as a success

latent willow
#

that is bcs you have your args defined differently than in my example

sturdy chasm
#

oh! I have this above it!
if (!message.content.startsWith(config.prefix) || message.author.bot) return;
do you think this may have something to do with it?

bright spear
latent willow
#

@sturdy chasm no it doesnt i gave you a functional example and it works totally fine for me and i told you what you do different than in my example

earnest phoenix
#

why regex split for a single space

#

rather than just use an actual space

#

if ur using regex, do it for all whitespace chars or soething lmao

latent willow
#

y its just a example there is more than 1 way

sturdy chasm
#

alright, well I'll try looking to see where I have args defined differently, but I actually did change it to what you had.

        let text = message.content.split(/[ ](.+)/)[1];
        let command = message.content.startsWith(config.prefix) ? args[0].substring(config.prefix.length).toLowerCase() : undefined;

        switch (command) {
            case "type":
            
                console.log(command);
                console.log(text);
                break;
}```
earnest phoenix
#

yeah like .split(' ') ๐Ÿ˜‚

latent willow
#

you messed up the args split by adding additional spaces in your regex

earnest phoenix
#

solution: dont use regex to split space only

sturdy chasm
#

y'know Tom, it makes me laugh at it all. I just tried the .split(' ') on args to go on a whim, and that solved it.

earnest phoenix
#

๐Ÿ‘

sturdy chasm
#

thanks, both of you. Now I'll be looking up why it thinks ".find" doesn't exist in my original code

wide ruin
#

Hey

#

I haven't made a bot in .py before

#

How can I learn, or get the code to get it online?

ruby dust
#

get python online?

wide ruin
#

A bot that uses python

#

I want to get that online

ruby dust
#

you learn python just like you learned the other language Thonk

wide ruin
#

Ik python well

#

But want to make a bot in it

quartz kindle
#

use the python library

wide ruin
#

?

quartz kindle
#

not the website

wide ruin
#

Oooh

topaz fjord
wide ruin
#

I think it is https:/discord.py.org

ruby dust
#

just... stop

wide ruin
#

Ok

topaz fjord
quartz kindle
#

^ this is for async, no?

#

the previous one is for rewrite

ruby dust
#

yes that's async

topaz fjord
#

you can select at the bottom

#

which version

ruby dust
#

well don't mislead our fellow here, apparently he can take a discord lib as a site already

topaz fjord
#

@quartz kindle

quartz kindle
#

yeah i saw

#

lol

topaz fjord
#

ok fren

quartz kindle
#

is "latest" rewrite?

topaz fjord
#

ye

#

im pretty sure

ruby dust
#

rewrite is rewrite

quartz kindle
#

then what is latest and stable?

topaz fjord
#

rewrite and latest are the same on the docs afaik

#

same changelog

ruby dust
#

well whatever, I haven't checked any other versions but rewrite and a little bit of async

topaz fjord
#

wait

#

ive heard rewrite is better

ruby dust
#

no shit

knotty steeple
#

it is

topaz fjord
#

@ruby dust nou

knotty steeple
#

rewrite is new and cool

#

async is old

#

pretty sure

ruby dust
#

how do you know js kid

knotty steeple
#

i dont only do js GWfroggyAngryEyes

#

and its kinda obvious isnt it

ruby dust
#

not really

#

wait, rewrite or you not using only js?

topaz fjord
#

yes really

ruby dust
#

cause I said not really to the second one

knotty steeple
#

both

slender thistle
#

@topaz fjord rewrite and latest are not the same

#

latest is 0.16.12 or whatever

topaz fjord
#

oh

slender thistle
#

rewrite is 1.0.0a+

earnest phoenix
#

Would anyone know a good open source paginators for d.js?

#

Or just javascript in general

knotty steeple
#

nope

earnest phoenix
#

I know klasa have paginators but i donโ€™t really like

#

Klasa

knotty steeple
#

make it yourself

earnest phoenix
#

I already did sis

knotty steeple
#

what

earnest phoenix
#

Anyway nevermind

knotty steeple
#

..ok

compact wraith
#

Anyone able to deeply help me with API, I need to make a API bot but im completely unfamilier with how to do so

knotty steeple
compact wraith
#

I know, just seeing if anyone in this channel also knew

knotty steeple
#

its not like the channels are limited

compact wraith
#

I know, but some people just sit in this channel

viscid falcon
#

after addding a bug command which reports a bug to me, whenever i run node index.js it gives me the error UnhandlesPromisRejectionWarning: Error: 502 Bad GateWay

#

any ideas why?

knotty steeple
#

has to do with connection

inner jewel
#

5xx errors are server errors

viscid falcon
#

hmm, how would i fix that

inner jewel
#

you don't

knotty steeple
#

you cant

inner jewel
#

unless you own whatever is throwing 502

#

as in what's in the other end of the connection

viscid falcon
#

rip

knotty steeple
#

are you sure its after you added the bug command

#

try rolling back to see if the error pops up again

viscid falcon
#

by do you own it, do you mean the server?

#

cuase i self host

#

rolling back doesnt fix it

#

so what do i do, wait?

#

@inner jewel do you mean if i self host?

inner jewel
#

5xx are http status codes

#

an http request is failing due to a server error on the other end

viscid falcon
#

ok, so i just have to wait and hope it gets fixed?

knotty steeple
#

most likely

viscid falcon
#

so would it be one of the apis that is broken?

#

the line after the error is at ImcomingMessage.res.on(dbl api's index.js directory)

inner jewel
#

DBL is down

viscid falcon
#

oh rip

#

and would that make it possible to break other commands?

#

oh wait nvm, i see what i did for that command

viscid falcon
#

im trying to make my testing/beta bot only reply to donators, and for some reason this if statement - if (message.author.roles.includes('480177630864211988')) { . . . is throwing me this error - ```
if (message.author.roles.includes('480177630864211988')) {
^

TypeError: Cannot read property 'includes' of undefined```

bright spear
#

d.js?

viscid falcon
#

ye

bright spear
#

its message.member.roles

viscid falcon
#

but the arrow is some where else btw

#

oh thanks

bright spear
#

yw

viscid falcon
#

now its giving me message.member.roles.includes is not a function

#

.roles is a collection and .includes is a thing so idk whats wrong with it

bright spear
#

isnt .includes supposed to be for a string

viscid falcon
#

oh, what would i do for a collection

bright spear
#

.has i think

#

not sure

viscid falcon
#

thanks, srry im a rlly bad programmer and i rlly dont deserve to have s successful bot

zealous veldt
#

lmao

earnest phoenix
#

-bots @viscid falcon

gilded plankBOT
#
Charles#6250
Bots

@dusky helm

earnest phoenix
viscid falcon
#

why u wanna see my bots?

#

its @sinful depot

#

@earnest phoenix ?

quasi marsh
#

Don't run commands in here please

viscid falcon
#

srry

earnest phoenix
#

yo dogs

primal ferry
#

-bots @primal ferry

gilded plankBOT
#
Green#0972
Bots

@tulip trellis

bright spear
primal ferry
#

OK

#

Hi,

ive got this error (node:24246) DeprecationWarning: Collection#find: pass a function instead

My code is ; message.guild.roles.find("name", role)

can someone help me ?

bright spear
#

@primal ferry change it to js message.guild.roles.find(role => role.name === 'name')

primal ferry
#

Now cant find role

#

if(message.guild.roles.find(role => role.name === 'name'))

#

@bright spear

viral swift
#

What bot tells when someone in the server change his pfp

primal ferry
#

pfp whats this ?

zealous veldt
#

profile picture @primal ferry

floral helm
#

@fossil oxide i wanted you to decline my bot. I was asking before to decline but you never answered. Thanks

bright spear
#

@floral helm dont ping oliy -.-

floral helm
#

oh

#

sorry

earnest phoenix
#

hey, i've built a dashboard for my bot, and i need to register a redirect URI with discord, but the developer portal won't let me. can someone explain how i would do this?

bright spear
#

it is in the developer portal

#

@earnest phoenix ^

earnest phoenix
#

ty. i'll give it a shot

#

@bright spear im guessing the oauth secret would just be the client secret right?

bright spear
#

uh not sure

earnest phoenix
#

ok

#

i'll give it a shot, if it errors, i'll look elsewhere for a secret

primal ferry
#

How i can get AvatarURL By user id ?

#

i did it

#

client.users.get(user.id).avatarURL

earnest phoenix
#

@earnest phoenix

#

๐Ÿ˜ƒ

#

Any way to access APIs using a proxy in NodeJS?

#

Several proxies/new IPs will be needed.

earnest phoenix
#

does anyone know why my discord bot keeps performing my commands twice
i am self hosting rn
i use Visual Studio Code
Lang : Python Rewrite
Win64
When This Happened:
it happened when i was trying to upgrade my python fro 3.6 to 3.7 now, its keeps doing this

autumn slate
#

What is the best free meme api?

earnest phoenix
#

-bots @earnest phoenix

gilded plankBOT
#
Derpy [FG] แดฐแต‰แต› โš’#6522
Bots

@manic grove
@stray hatch
@hybrid pulsar

quiet bobcat
bright spear
#

@earnest phoenix are you sure you're not running two instances?

latent heron
#

^

#

also when upgrading python

#

it tends to bug out and try and run the same running application that is currently being ran in the background

#

you need to fully close out and re-open

earnest phoenix
#

Guys what is this /dev/sdal folder and how to remove it?
My server doesn't have space and mysql isn't starting

wide ruin
#

client.user.setStatus('online');

#

for do not disturb, is it client.user.setStatus('do not disturb'); or client.user.setStatus('dnd');

sick cloud
#

'do not disturb' doesn't work

bright spear
#

its 'dnd'

earnest phoenix
#

someone knows how to tell if "kick_member" on audit logs was added just a second ago then do something?

like if(auditDate === Date.now()) or something

wide ruin
#

@bright spear will tis work:

if (command === ('botinvisible')) { client.user.setStatus('invisible'); }

earnest phoenix
wide ruin
#

how do you make a list in .js and pick a random value

earnest phoenix
#

I learned only c#

#

but is var list = [{}];

#

Not suitible?

wide ruin
#

where do you put the list entries there?

earnest phoenix
#

you make an array

const array = ['some', 'array', 'elements', 1, 2, 3];

you look how to get a random number:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random
then you think "Thonk... if I pick a random index from 0 up to the arrays length, then I can get a random array element"
So you generate a number from 0 to the length like:

~~(array.length * Math.random())

Then pick that element:

array[~~(array.length * Math.random())]; //you will get a random element

Then, you remember that this is simple coding knowledge and you should hit up https://google.com instead of asking for spoonfeed

wide ruin
#

so replace the 'some' with the text

earnest phoenix
#

if u dont know what an array is ur out of luck

wide ruin
#

but is that right?

sick cloud
#

so erm, you'd have to scrape data from a website if they don't have an api right?

uncut slate
#

yes

earnest phoenix
#

yeah

sick cloud
#

fun

#

will any method work or is there like, a fast way of doing it?

#

the site i want data from is really really really messy code wise

earnest phoenix
#

use cheerio if ur in js

uncut slate
#

if the content is pre-rendered, use an http library with cheerio (personal recommendation)

#

if it's not, use phantomjs or headless chromium

sick cloud
#

i'm guessing the site being loaded by a app.js file in the rclick->view page source screen means it's pre-rendered right?

wide ruin
#

how do you pick a random value from "array"

sick cloud
#

math.random

earnest phoenix
#

already explained it

wide ruin
#

array[~~(array.length * Math.random())];

#

?

earnest phoenix
#

yes where array is the name of ur array

wide ruin
#

it is called array rn

#

but ill change it

earnest phoenix
#

If my bot was kicked, how can I re-add it here?

long glade
#

Ask why your bot was kicked to begin with, then fix the mistakes and try again

craggy roost
#

Hello

#

Why am I getting this error?

#

I think something about .js

#

discord.js

#

Is there anyone there?

earnest phoenix
#

which one

craggy roost
#

Both of them

earnest phoenix
#
message.guild.roles.find(role => role.name === 'roleName')```
craggy roost
#

let gonderilecek = guru.channels.find(id, raporkanallarฤฑ[msg.guild.id]);

#

This is mine.

earnest phoenix
#

you are on master, right?

craggy roost
#

๐Ÿ˜„ Do not wave D. I just started these things.

earnest phoenix
craggy roost
#

roles.find?

#

channels.find?

earnest phoenix
#

uh

#

my bad

craggy roost
#

Oh. No problem. Thank you.

#

The problem did not change.

#

Do I send the codes?

#

mmm. ๐Ÿค”

#

Help me.

#

Pls.

earnest phoenix
#

?

#

@craggy roost

#

say

knotty steeple
#

if you have a channel id already just use <Client>.channels.get("channelid")

cerulean venture
#

..

ruby talon
#

Hey, how can you do it that when a user upvotes on discordbots.org that the user who upvoted gets somthing?

earnest phoenix
#

its in their api

ruby talon
#

Found it ty. โค

earnest phoenix
#

np

earnest phoenix
#

@bright spear yeah i found out the i used bot.process commands in a cog lol

#

Sorry for the ping if you didnt want it

cerulean venture
#

@earnest phoenix

wide ruin
#

how do you do a kick / ban / mute?

#

and make it mod only?

eager spoke
#

Use the kick/ban command of your api and check that the user entering the command has kick/ban permission

wide ruin
#

how do you do that?

#

.js

eager spoke
#

Im not a .js guy, try read their doc

earnest phoenix
#

if statements

wide ruin
#

@earnest phoenix how do you check if the user has ban / kick perms?

earnest phoenix
#

what lib

wide ruin
#

.js

earnest phoenix
#

ni

#

No

wide ruin
#

oh

earnest phoenix
#

What library

wide ruin
earnest phoenix
#

Bruh

wide ruin
#

idk

earnest phoenix
#

What library

wide ruin
#

idk

#

how do i fond out

#

find*

earnest phoenix
#

you don't know what library you have

wide ruin
#

no

earnest phoenix
#

ok

wide ruin
#

i do not

earnest phoenix
#

Are you using discord.js

wide ruin
#

yeah

earnest phoenix
#

Ok

#

Thats your library

#

anyways

wide ruin
#

i said that at the start tho

earnest phoenix
#

no

wide ruin
#

but how do i do it

earnest phoenix
#

you just said .js

wide ruin
#

ok

#

ignore that for now

earnest phoenix
#

anyways its

#
if(message.author.hasPermission("BAN_MEMBERS")) return ("some no permission thing")
wide ruin
#

if i send the edit link, can you check if i am doing it right?

eager spoke
#

Create an alt an test kick/ban on it ๐Ÿค”

wide ruin
#

now

#
        if (command === ('ban'))
        {
          const User = args.join(' ');
          
        }```
#

what is the command to ban ${user} ?

earnest phoenix
#

oof

wide ruin
#

what

#

how do you do it?

#

@earnest phoenix

earnest phoenix
#

guild.member.ban

#

well

#

member.ban

#

Oh wait

wide ruin
#

so member.ban(User)?

earnest phoenix
#

User.ban

wide ruin
#

ok

earnest phoenix
#

User.ban()

wide ruin
#
        if (command === ('ban'))
        {
          const User = args.join(' ');
          User.ban()
        }```
#

does that work?

#

can i get somebody to test it on?

earnest phoenix
#

yes

#

It works

wide ruin
#

can you test it?

#

dm me pls

light tangle
#

can someone pls explain how do I make my bot online?

#

pls

#

@quartz dune developer?

#

bot developers?

#

pls

prime cliff
#

@light tangle what are you using to run the bot

light tangle
#

I don't know I just wan't to make my bot online!

prime cliff
#

We cant help you if you dont even know what you are using

light tangle
#

wait let me check

lament meteor
#

im using discord

light tangle
#

this is the client btw 480214315530715176

cerulean venture
#

where you copy bot from? that would help

light tangle
#

you mean the link?

prime cliff
#

Yes

light tangle
#

alright'

#

let me go to my robot

#

there it is

prime cliff
#

....

light tangle
#

what?

cerulean venture
#

where did you get the code for your bot?

#

or guide you followed

light tangle
#

I forgotten...

#

@prime cliff did you do it?

#

hmm did you check it?

cerulean venture
#

@light tangle

#

https://anidiotsguide_old.gitbooks.io/discord-js-bot-guide/content/getting-started/the-long-version.html

#

^

light tangle
#

wth

prime cliff
#

What program/app are you using to make/run the bot or any kind of website that showed you

light tangle
#

wait

cerulean venture
#

read the guide it will help clear up all your questions

light tangle
#

ok thanks btw!

#

I'll go make a new bot

loud helm
#

does someone know how i can send a message to all servers the bot is in with the command !sendmessage

#

btw does that count as api abuse?

cerulean venture
#

well would depend on the size of your not

#

bot*

#

but doubtfully

#

most bots do it

#

what language

heady zinc
#

yes it does count as api abuse in most cases

tough lark
#

most bots do it

#

no... they dont

cerulean venture
#

there are a lot of bots that send out messages to servers

heady zinc
#

it's not okay in any way

tough lark
#

^

loud helm
#

i wanted to send a message whenever the bot restarts

#

discord.js is the language

neon swift
#

Why not send a message when you run the bot then

#

just set up some flag the the bot started running because you restarted it

topaz fjord
#

It just set status saying bot is restarting

#

If you want to send that message to all servers it will be counted as API abuse

cerulean venture
#

i mean wouldnโ€™t that depend on 2 servers vs 1000 tbh

earnest phoenix
#

hi i wanna send a message to every server my bot in mmLol

heady zinc
#

no it wouldn't

#

regardless of the amount of servers that's voluntary spam

earnest phoenix
#

oof

#
Client.on(eventName, event.bind(null, Client));

                               ^


TypeError: event.bind is not a function```
#

it works for all other events

#

but the disconnect event

#

nvm

#

my friend spelt module.exports wrong smh

cerulean venture
#

if it was a toggled event then they would be safe like, guild setting the option to allow updates

earnest phoenix
junior bobcat
#

is there a code to know who is bot owner ? (discord js)
I know this question already exist but I didn't find an answer...

topaz fjord
#

Which then returns Oauth2Application

#

And OAuth2Application has a property .owner

limpid cosmos
#

How do I send a dm to a specific Id?

topaz fjord
#

And .owner returns User which has the property .username

#

@junior bobcat ^

limpid cosmos
#

@topaz fjord do you know how can I do this ?

junior bobcat
#

ok thanks

#

client.fetchUser(id).then(user => {user.send()});

#

smtg like that

topaz fjord
#

.fetchApplication() requires an id so you have to put the bot id

limpid cosmos
#

Yep but to send a message to a specific Id

#

?

topaz fjord
#

client.users.get('id').send('message')

#

Afaik

limpid cosmos
#

Super thanks a lot ๐Ÿ˜‰

ruby talon
#

Hey,I got this ``` Ignoring exception in command serverchannels
Traceback (most recent call last):
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 50, in wrapped
ret = yield from coro(*args, **kwargs)
File "C:\Users\Gebruiker\Desktop\Rex\Official bot\Bot.py", line 103, in serverchannels
await bot.say("I counted {} channels in this discord!".format(ctx.message.server.channels))
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\bot.py", line 309, in _augmented_msg
msg = yield from coro
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\client.py", line 1152, in send_message
data = yield from self.http.send_message(channel_id, content, guild_id=guild_id, tts=tts, embed=embed)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\http.py", line 200, in request
raise HTTPException(r, data)
discord.errors.HTTPException: BAD REQUEST (status code: 400)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\bot.py", line 846, in process_commands
yield from command.invoke(ctx)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 374, in invoke
yield from injected(*ctx.args, **ctx.kwargs)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python36\lib\site-packages\discord\ext\commands\core.py", line 54, in wrapped
raise CommandInvokeError(e) from e
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: HTTPException: BAD REQUEST (status code: 400)```

#

when I executed the command that has this code:

@bot.command(pass_context=True)
async def serverchannels(ctx):
    await bot.say("I counted {} channels in this discord!".format(ctx.message.server.channels))

(Python)

#

Does anyone know how to fix this?

slender thistle
#

Counting... but ctx.message.server.channels is not a number GWchadMEGATHINK

ruby talon
#

Oh.

slender thistle
#

Forgot len()

opaque trail
knotty steeple
#

after

ruby talon
#

!death

#

oops

#

wrong channel

zealous veldt
#

um, strange

marsh harbor
#

Anybody have any easy ways to make a dashboard for a bot written in d.js?

bitter sundial
#

@opaque trail you can only get a token after your bot has been approved
You can start on the code but testing isn't possible

opaque trail
#

ah right alright

stone hinge
#

hi
/app/events/guildMemberAdd.js:4
2018-08-21T18:32:49.605436+00:00 app[worker.1]: member.guild.defaultChannel.send('hg '+username+'');
2018-08-21T18:32:49.605438+00:00 app[worker.1]: ^
2018-08-21T18:32:49.605440+00:00 app[worker.1]:
2018-08-21T18:32:49.605442+00:00 app[worker.1]: TypeError: Cannot read property 'send' of undefined
2018-08-21T18:32:49.605444+00:00 app[worker.1]: at Client.module.exports.member (/app/events/guildMemberAdd.js:4:33)
2018-08-21T18:32:49.605445+00:00 app[worker.1]: at emitOne (events.js:116:13)
2018-08-21T18:32:49.605447+00:00 app[worker.1]: at Client.emit (events.js:211:7)
2018-08-21T18:32:49.605449+00:00 app[worker.1]: at Guild._addMember (/app/node_modules/discord.js/src/structures/Guild.js:1192:19)

How can I fix the problem?

knotty steeple
#

defaultChannel isnt a thing anymore

stone hinge
#

please write more descriptive
guildmemberadd.js code

module.exports = member => {
let username = member.user.username;
member.sendMessage('HoลŸ geldin ' + username + '!');
member.guild.defaultChannel.send('hg '+username+'');
};

knotty steeple
#

you cant use defaultChannel anymore

#

descriptive enough?

earnest phoenix
#

uhh can any1 help me, I have a problem

#

I have a mute command, it creates a role, but not what I specified in the code..

cerulean zinc
#

Whats your code, what language, what exactly are you trying to do, etc

earnest phoenix
#

discord.js (master)

cerulean zinc
#

good

earnest phoenix
#

I tried creating a role with the name "Muted" but it doesnt rename it like that

#

it just creates "new role"

#
      muterole = await message.guild.roles.create({
        name: "Muted",
        color: "#818386",
        permissions:[]
      })```
cerulean zinc
#

First off, I strongly discourage the use of await

bitter sundial
#

why?

cerulean zinc
#

Because promises are better for JS when possible

topaz fjord
#

await is good

bitter sundial
cerulean zinc
earnest phoenix
#

Thanks

bitter sundial
#

u dumb or something?

#

async/await is promises with a nicer syntax

topaz fjord
#

lmfao

cerulean zinc
#

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

bitter sundial
#

where'd you hear that bullshit

cerulean zinc
#

It all depends on what you're using it for

#

Some things are better with await

bitter sundial
#

that doesn't mean you should use promises when possible (aka always)

cerulean zinc
#

But what's wrong with promises

earnest phoenix
cerulean zinc
#

How are you doing it

deep inlet
#

Lmao

#

Send code

earnest phoenix
#

ok

bitter sundial
#

there's nothing wrong with promises but it can sometimes make a mess while async would be so much clearer

deep inlet
#

That doesn't look right

cerulean zinc
#

@earnest phoenix Which line is it throwing an error

earnest phoenix
#

38:22

cerulean zinc
#

I have a feeling which

#

This?

  await(tomute.roles.add(muterole));

earnest phoenix
#

yep

cerulean zinc
#

1 sec

#

@earnest phoenix In your command, did you mention a user?

#

Or did you supply an ID

earnest phoenix
#

yep

#

mention

bitter sundial
#

ok so

earnest phoenix
#

let tomute = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));

cerulean zinc
#
  let tomute = message.guild.member(message.mentions.users.first() || message.guild.members.get(args[0]));
#

That looks off to me

bitter sundial
#

heat added those then and catches

#

it's returning undefined to the await because of that

#

so, remove lines 22 and 23

cerulean zinc
#

@earnest phoenix Can you add a
console.log(tomute.id)
before the role adding?

#

To see if its setting the user

bitter sundial
#

derp are you literally

#

did you read the error even

cerulean zinc
#

Yes I did

#

But I-

#

hmm

#

Actually, see if its returning the role properly

bitter sundial
#

I can see it's not

#

do I need to demonstrate

cerulean zinc
#

No

earnest phoenix
#

uhh stable didn't send that many errors

cerulean zinc
#

Stable is more stable

bitter sundial
#

@earnest phoenix soo
revert anything derp told you to do, he's completely off track

what's the version (commit hash) of your d.js, you could look for this in package-lock.json

earnest phoenix
#

master

cerulean zinc
#

heh, master isn't enough

earnest phoenix
#

"version": "github:hydrabolt/discord.js#19c298f5cc131f152befa80eb4e956e52feaa778",

bitter sundial
#

oh yea I see

#

you should create a data object around it

#

and that'll be it

#
muterole = await guild.roles.create({
        data: {
          name: ...,
          color: ...,
        }
      })
earnest phoenix
#

anyone here can tell me if bot.channels.find() can find for nsfw channel?

grizzled isle
#

bot.channels.filter(c => c.nsfw === false)

earnest phoenix
#

๐Ÿ‘€

#

and get the channel that sends the message?

grizzled isle
#

Well the filtered would get you all the channels that are marked nsfw

#

If you want it for a command, then do if (message.channel.nsfw) { //Code here }

earnest phoenix
#

ok

#

pretty good

#

ty

grizzled isle
#

Np

earnest phoenix
#

client.sendMessage({
to: channelID,
message: embed
});

#

can anyone help now?

#

TypeError: client.sendMessage is not a function

#

no?

#

@grizzled isle

grizzled isle
#

message.channel.send(your message here)

earnest phoenix
#

i leteraly copy pasted that part

#

yes but i want to dont show the link

#

and as far as i know thats the unique away

bright spear
#

?

#

as it says, client.sendMessage is not a thing

earnest phoenix
#

and client.sendFIle to

#

but here suposts to

topaz fjord
#

That's post is over a year old

#

It's outdated

bright spear
earnest phoenix
#

i really hate javascript

#

for real

bright spear
#

then use a different language?

earnest phoenix
#

too much advanced now to go back

#

i aleardy do one in python

topaz fjord
#

It's not the languages fault

#

It's just the examples you are using are outdated

earnest phoenix
#

yup

#

but i still hate it

zealous veldt
#

yo @bright spear is that vscode? sexy af

topaz fjord
#

That's discord docs

bright spear
zealous veldt
#

o

#

lol

bright spear
#

lol

topaz fjord
#

lmfao

earnest phoenix
#
var http = require('https');
        var options = {
          host: '',
          path: ''
        };

        var req = http.get(options, function(res) {

          // Buffer the body entirely for processing as a whole.
          var bodyChunks = [];
          res.on('data', function(chunk) {
            // You can process streamed parts here...
            bodyChunks.push(chunk);
          }).on('end', function() {
            var body = Buffer.concat(bodyChunks);```
#

that could be in python

#

d=requests.get()

#

all that gigant block

bright spear
#

nobody actually uses http.get

earnest phoenix
#

i search a lot

#

i dont find a piece of shit

topaz fjord
#

Most people Ik use snekfetch

bright spear
#

^

earnest phoenix
#

anyway ty for the help

#

and were i get channel?

#

i found it

bright spear
#

@earnest phoenix you want to show the server count on DBL?

#

also dont channel hop pls

#

@earnest phoenix what language do you use

zealous veldt
bright spear
#

or you can use https://www.npmjs.com/package/blapi which supports multiple bot lists

#

idk if they'll work with DBM tho

#

can you edit the bot code?

topaz fjord
#

advaith

#

do you know how a vote object looks

#

for dbl

bright spear
#

uh

#

in what

topaz fjord
#

wait nvm

#

also afaik you can edit dbm code

devout raven
#

Hi ho

topaz fjord
#

wow

worn hull
#

so

#

my bot

#

wont Respond to any Commands (js) was working fine

#

a few hours ago