#development

1 messages · Page 961 of 1

willow marlin
#

ah frick

lusty quest
#

it needs a ton of Ram

willow marlin
#

frick frick frick

#

i have no rsm

#

little ram

lost horizon
#

i have 16 😎

digital ibex
#

¯_(ツ)_/¯

#

use something else

lusty quest
#

i ran into this issue with my bot too. but now ive got a dedicated database server additonal to the server where the bot is running on

willow marlin
#

woj

lost horizon
#

How would i check that the user trying to ban another user has permission ban_members?

digital ibex
#

Member.hasPermission('permission')

lost horizon
#

thank you

earnest phoenix
#
const link = search(args.join(' '), async function (err, res) {


   var video = res.videos.slice(0, 1);
            
   const link = video[0].url
   return video[0].url;
            
});

console.log(link)

link seems to be undefined every time

pale vessel
#

console log video

earnest phoenix
#

that;s not the problem

worthy kindle
#

I am going to make a modmail bot but I dont know how to host it and I dont have any money any suggestions?

earnest phoenix
#

that gives me the information eneeded

pale vessel
#

it's called debugging

earnest phoenix
#

the problem is returning the variable

willow marlin
#

host on glitch

#

replit

#

heroku

#

they are quite good

#

but heroku isnt for bots

worthy kindle
#

What is the best would you say?

willow marlin
#

and glitch can be a bit spontaneous

honest perch
#

glitch, repl and heroku arent good for bots

#

nothing that is free is good

hasty sparrow
#

Glitch and Repl.it aren't designed with bots in mind

willow marlin
#

mhm

#

you sould buy a vps

#

but no money

#

me too so i use repl

honest perch
#

you can always host locally

worthy kindle
#

@honest perch what does that mean?

honest perch
#

on your own network

willow marlin
#

oh lmao

digital ibex
#

glitch isn't even meant for bots

honest perch
#

for example with a server, raspi or your pc

digital ibex
#

websockets to be specific

willow marlin
#

none of them are meant for bots

worthy kindle
#

I think my friend has a server.

#

Idk really.

willow marlin
#

you could just host locally out of your editor and keep your computer on 24/7

hasty sparrow
#

No.

worthy kindle
#

My parents would be mad.

willow marlin
#

lol

#

your electricity bill

digital ibex
#

you'd need excellent internet and a very good pc

worthy kindle
#

I dont have a very good pc.

digital ibex
#

if u have them two, sure, locally host it

honest perch
#

you dont need a very good pc

worthy kindle
#

Its a linux pc.

#

Its not really a pc its a laptop

honest perch
digital ibex
#

i mean, when i host my test bot, and my pc is having a heart attack, my bots ping is around 4000ms

#

otherwise its normal

worthy kindle
#

Its a laptop.

digital ibex
#

what distro?

honest perch
#

if a raspberry pi can handle a bot fine a pc definitely can

worthy kindle
#

What do you mean what distro?

honest perch
#

linux distro

worthy kindle
#

?

digital ibex
#

like, what linux do u have

#

uhh

worthy kindle
#

Idk

digital ibex
#

ubuntu?

honest perch
#

like kali

#

or ubuntu or raspbian

worthy kindle
#

Idk what linux

honest perch
#

🤦‍♂️

mossy vine
#

you have linux but dont know what distro

#

alright

digital ibex
#

nice

worthy kindle
#

Beacuse my grandpa gave me it.

digital ibex
#

LOL

honest perch
#

bruh

digital ibex
#

why does ur grandpa have a linux

#

lmao

honest perch
#

how did he set it up

pale vessel
#

gnu/linux

digital ibex
#

how even d- im gonna stop lmao

honest perch
#

maybe try with neofetch?

worthy kindle
#

@digital ibex Beacuse he got it from the church and gave me it right as he got it

#

how did he set it up
@honest perch i have a laptop.

honest perch
#

do you get a result if you type sudo apt-get

worthy kindle
#

I dont have my laptop rn

willow marlin
#

for Mongo

honest perch
#

i rather use mongoose

digital ibex
#

w3school is good

mossy vine
#

you dont need mongoose unless you want schemas

digital ibex
#

i'll learn mongo first, then learn mongoose

willow marlin
#

schemas?

mossy vine
#

schemas

willow marlin
#

ah a syllogistic figure

jagged gulch
#

Is it possible to put an iframe in a discord embed?

willow marlin
#

no

mossy vine
#

no

jagged gulch
#

damn

mossy vine
#

what do you want to do

jagged gulch
#

embed a yt video

mossy vine
#

this might work

spice smelt
#

hi! I wanted to know if there’s anything special that I should do if I wanna create a JSON file to read it in a js program. I tried to simply create a .json file and then use smth like jsonFile = require(‘./jsonFile.json’)But it doesn’t work : it says ‘Unexpected token [first letter after { ] at position 2`. Why? If that can help, I use SFTP.

jagged gulch
#

this might work
@mossy vine ill check it out, thx!

spice smelt
#

btw I don’t think we can embed videos

mossy vine
#

@spice smelt show the json document

#

also look at the link i sent

#

smh

pale vessel
#

a video, maybe but not sure about YouTube videos

spice smelt
#

well I just figured out why it didn’t work. I forgot the quote marks... 😓

#

for the value names

mossy vine
#

yeah that was what i suspected

spice smelt
#

thank you anyway

jagged gulch
#

json is both a blessing and a curse for devs

#

lol

mossy vine
#

eh

#

its pretty nice for storing static data

jagged gulch
#

yeah but if u forget one quote then there goes ur entire document

hardy vector
#
const {MessageEmbed} = require('discord.js')
const api = require('covid19-api')
module.exports = {
    name: "covid",
    description: "get covid stats",

    execute(client, message, args)  {
       let country = args.slice(0).join(" ")
        try {
            let data = api.getReportsByCountries(country)
            console.log(data)

        } catch(error) { 
            message.channel.send(error)
        }
        

    }
}```(node:11439) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'trim' of undefined
    at Object.reportsByCountries (/Users/sadashivappakenchannavar/Desktop/discord.js-v12-youtube-tutorial/node_modules/covid19-api/src/api/api.js:107:73)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async Promise.all (index 0)
    at async PluginManager.getReportsByCountries (/Users/sadashivappakenchannavar/Desktop/discord.js-v12-youtube-tutorial/node_modules/covid19-api/src/api/PluginManager.js:12:17)
(node:11439) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:11439) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero
#

when i do !covid USA or something it returns this

mossy vine
#

thats an error coming from a lib youre using

hardy vector
#

oh

#

do i uninstall and reinstall or something

mossy vine
#

could be incorrect usage

#

lemme check

hardy vector
#

aight

#

ty

mossy vine
#

const tempCases = $('div#maincounter-wrap').eq(0).text().split(':')[1].trim();

#

nah, lib error

jagged gulch
#

update the library with npm or find a more reliable one

mossy vine
#

you can try submitting an issue here

#

and find a different library

hardy vector
#

cos the one i use doesnt give a flag

#

for the country

mossy vine
#

you can fetch it urself

hardy vector
#

so i wanted to find one that did

#

oh

jagged gulch
#

or you could just do an https request to the who api

hardy vector
#

axios?

jagged gulch
#

https.get(url); or smthn like that

willow marlin
#

ah ok

hardy vector
#

what the fuc

mossy vine
#

what

hardy vector
#

what are you on

willow marlin
#

wait a sec

#

nerd that noone likes

hardy vector
#

are you on something?

jagged gulch
#
const apiFetch = (url) => new Promise(resolve => {
  https.get(url, res => {
    let data = ''

    res.on('data', chunk => {
      data += chunk
    }),

    res.on('end', () => {
      resolve(JSON.parse(data));
      console.log("Successfully connected to api!");
    })
     
  })
});```
willow marlin
#

from frosty?

hardy vector
#

yes

#

lol

willow marlin
#

woah

jagged gulch
#

@hardy vector thats what I use

hardy vector
#

ah ok

willow marlin
#

can i install npm packages from replit?

hardy vector
#

wdym?

jagged gulch
#

just call apiFetch(url) when u need

hardy vector
#

oki

#

will do

jagged gulch
#

@willow marlin u developing on repl?

willow marlin
#

yes

jagged gulch
#

just go to the package manager tab on the left

willow marlin
#

i cant afford a vps

hardy vector
#

just use vsc or something

jagged gulch
#

get one from google cloud, they're free for a year

hardy vector
#

replit is a last resort if you dont have 300mb on ur computer

jagged gulch
#

no cap

autumn summit
hardy vector
#

glitch is bad

autumn summit
#

best one fr

#

nah

willow marlin
#

i used to use glitch

autumn summit
#

glitch insane

willow marlin
#

but their host got banned

mossy vine
#

glitch bad

autumn summit
#

ik

#

thats why i dont host there

hardy vector
#

their host got banned

#

lmao

mossy vine
#

best one fr
@autumn summit
thats why i dont host there
@autumn summit

#

ok

autumn summit
#

I just use that for editing

jagged gulch
#

repl it terrible for bot development, I just use it to test out short functions before implementing

hardy vector
#

yea

jagged gulch
#

vsc is god tier

hardy vector
#

tru

mossy vine
#

technically

autumn summit
#

i dont like vsc personally

mossy vine
#

repl.it and vscode use the same editor

autumn summit
#

i find glitch better

hardy vector
#

@willow marlin give ur computer specs

mossy vine
#

same with glitch

#

theyre all the same behind the scenes

hardy vector
#

if you have 300mb left just install vsc

#

its worth it

autumn summit
#

use glitch

jagged gulch
#

but repl really doesn't like d.js for some reason

autumn summit
#

then download the file

hardy vector
#

or maybe a 1GB for all the extensions

autumn summit
#

and make your computer a private server

#

thats what I do

hardy vector
#

yes and use pm2

jagged gulch
#

pm2 is literally jesus

autumn summit
#

use ubuntu

jagged gulch
#

oml

autumn summit
#

or whatever its called

hardy vector
#

yes pm2 is jesus

jagged gulch
#

lmfao

willow marlin
#

i have vsc

hardy vector
#

then why tf are you using replit

autumn summit
#

replit sucks

jagged gulch
#

Id start using that instead, it's a lot easier and more convenient than repl

autumn summit
#

that was my first editor

willow marlin
#

atom is good

#

webstorm is best

autumn summit
#

glitch better

jagged gulch
#

same, I used to dick around with c when I was bored at school with repl

that was my first editor
@autumn summit

hardy vector
#

atom isnt that good

autumn summit
#

lmao

hardy vector
#

replit is good for when ur bored at school

willow marlin
#

it has pretty colours

hardy vector
#

replit is shit

willow marlin
#

dude

autumn summit
#

indeed

willow marlin
#

chill

jagged gulch
#

atom is good for json and stuff, it sucks for node

willow marlin
#

its not that bad

hardy vector
#

so is glitch

#

vsc is god

#

just use vsc

autumn summit
#

who codes with node nowadays?

pale vessel
#

why do you guys need crazy shit for javascript while i'm just using notepad++

jagged gulch
#

use whatever ide u want, id just highly reccommend vsc

autumn summit
#

im all for pytho

#

n

mossy vine
#

who codes with node nowadays?
@autumn summit a huge percentage of developers waitWhatSpin

hardy vector
#

why do you guys need crazy shit for javascript while i'm just using notepad++
real men use notepad so you are real man

jagged gulch
#

I use node 😳

hardy vector
#

same

#

😳

autumn summit
#

@mossy vine ik but literally every developer I code with uses python

jagged gulch
#

also I'm a web dev so I have lots of background with js

mossy vine
#

because you code with python devs

autumn summit
#

guess thats just a coincidence

#

ik

jagged gulch
#

Pyrhon is also amazing

autumn summit
#

lol

#

O RLY

earnest phoenix
#

who codes with node nowadays?
@autumn summit
people who don't care about performance

jagged gulch
#

first programming language for me

mossy vine
#

oh guess i dont care about performance

#

¯_(ツ)_/¯

hardy vector
#

@jagged gulch which corona api do you use

earnest phoenix
#

correct

jagged gulch
#

havent touched it in forever tho

autumn summit
#

my first language was scratch

#

if that counts

willow marlin
#

To create a database in MongoDB, start by creating a MongoClient object, then specify a connection URL with the correct ip address and the name of the database you want to create.

Wait where do i get a connection URL and ip adress and mongoclient object

jagged gulch
#

@jagged gulch which corona api do you use
@hardy vector I don't. but look on the WHO website for their REST api

hardy vector
#

ah

#

ok

mossy vine
#

@willow marlin connection url is where mongodb is hosted

willow marlin
#

where do i get one

autumn summit
#

is it just me or does mongodb go super slow sometimes

mossy vine
#

for example if you are locally hosting it mongodb://localhost:27017/

autumn summit
#

ive had times where it took my bot 30 minutes to connect with mongodb

jagged gulch
#
const MongoClient = require('mongodb').MongoClient;
const mongouri = encodeURI(`url`);
const mongoclient = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true });
mongoclient.connect(err => {
  const mongocollection = mongoclient.db("test").collection("devices");
  console.log(`Connected to mongo DB`);
  // perform actions on the collection object
  mongoclient.close();
});```
slender thistle
#

Don't mongodb wrappers set that as default URL if none was given

mossy vine
#

then ur bad

#

@slender thistle not all also jfc that nick

willow marlin
#

what the heck

#

is there a preset one of do i need a custom one

hardy vector
#

sad

willow marlin
#

fricking mongo so hard?

mossy vine
#

mate what

jagged gulch
#

fuck I thought they had one

autumn summit
#

how is mongo hard

#

mongo with py is so ez

#

dk about js

willow marlin
#

i dont understand the first step

mossy vine
#

mongo is the easiest db youre getting

willow marlin
#

To create a database in MongoDB, start by creating a MongoClient object, then specify a connection URL with the correct ip address and the name of the database you want to create.

autumn summit
#

yeah exactly

willow marlin
#

how do i create a mongoclient obj

autumn summit
#

watch any yt vid

jagged gulch
lost horizon
#

Do anyone know how to check if the bot is over a member while kicking/banning it?
Discord.js.

autumn summit
#

thats how I did it

lost horizon
#

NovelCovid is also good.

hardy vector
#

thanks maddie

autumn summit
#

they should make a discord.py help channel and a discord.js help channel

hardy vector
#

no

autumn summit
#

y

hardy vector
#

development help channel is good enough

autumn summit
#

ig

mossy vine
#

no

hardy vector
#

i got banned bc in the php discord lib channel i said who uses php for a discord bot

mossy vine
#

deserved

hardy vector
#

lol

mossy vine
#

also the php lib isnt meant for bots

#

its for rest api interaction

willow marlin
#

i got muted in bfd because i said an admin didnt have a d*ck

mossy vine
#

it doesnt even support a websocket connection

hardy vector
#

oof

#

ok

#

well

#

ig i deserved

#

@jagged gulch the api you linked doesnt have the country flag

#

but i appreciate you helping

quartz kindle
#

half of the internet is built on wordpress/joomla/some other cms

#

all of them are built on php

pale vessel
#

ghost is pretty cool

worthy kindle
#

What is ghost?

still merlin
#

I was looking at yearly VPS's and CRAP there expensive, Anyone know any cheap yearly vps's?

pale vessel
#

ghost is a nodejs cms

digital ibex
#

hi, i have js function auth(req, res, next) { console.log(req.user); if (req.user) { next(); console.log(`${req.user} is logged in`); } else { res.redirect('/login'); console.log(`user is not loged in`); } } any ideas why it spams next() and causing the browser to error?

#

it also spams the console

#

discord oauth2 with expressjs

pale vessel
#

show next function

knotty steeple
#

next is an express function

digital ibex
#

wym? its just next()

pale vessel
#

oh

digital ibex
#

/dashboard

pale vessel
#

never used express before honestly

digital ibex
#

oh shit

#

im so stupid

#

thank u like a lot

#

that didn't make sense but ye, thanks :)

#

yep, i was checking my app.js file that whole time, what i was doing was redirecting it to /dashboard and if they're already logged in, redirect them to /dashboard again and it'd keep on repeating

hardy vector
#

does anyone know any good covid api's that include the countries flag as well as the stats

earnest phoenix
#

why do you need the flag

pale vessel
#

because flag = cool i guess

amber fractal
#

or make a map of flags to countries

#

I doubt any api would return their flag

pale vessel
#

effort

earnest phoenix
#

yeah but like you can construct the flag yourself

pale vessel
#

they do though. i'm using one that provides flag but i forgot what it's called

earnest phoenix
#

take the country code and either send the flag emoji or get the flag from the twemoji repo from the appropriate unicode codepoints

digital ibex
#

my api is so shit

#

just been thinking about that

hardy vector
#

why do you need the flag
@earnest phoenix bc makes the embed look cooler

spice smelt
#

heyy. im currently tring to use bitly's api. I tried this: ```js
if (msg.content.startsWith(PREFIX+'link ')) {
let bitlyKey = switchJSON.bitlyKey;
let linkStr = msg.content.substring(PREFIX.length+5)
let link = encodeURI(linkStr)
if (validURL(link)) {
// console.log(link)

let settings = {
method: 'POST',
headers: {
"Authorization": Bearer ${bitlyKey}
},
body: JSON.stringify({
long_url: link
})
}

fetch('https://api-ssl.bitly.com/v4/shorten', { settings })
.then(res => res.text())
.then(body => console.log(body))
}
}
But I don't understand why body returns :
Method Not Allowed

#

(using djs)

#

nope. I'm trying to shorten a URL, so I can't use GET

earnest phoenix
#

that wouldn't follow RESTful design, ^

pale vessel
#

was it even rest

spice smelt
#

that's what I thought, but this makes no sense

pale vessel
#

group_guid

#

maybe you're missing that one

pure lion
#

how do I fetch all the member IDs in a server

spice smelt
#

in the docs they say the only required field is long_url

tight plinth
#

long_url should not be literally "string" I guess, but smth else

spice smelt
#

yes of course 😂

pale vessel
#

lol

#

it's the error

#

method not allowed has nothing to do with this

spice smelt
#

you do really are a true genius @tight plinth

tight plinth
pure lion
#

H e l 🅱️

spice smelt
#

yep @proven lantern

pale vessel
#

{ ...settings }

#

or just settings lol

#

no need for {}

spice smelt
#

uh yeess you're right

#

thanks 👍

#

now I got this error 😓 ```
{"message":"INVALID_CONTENT_TYPE_HEADER"}

#
    headers: {
      "Authorization": `Bearer ${bitlyKey}`
    },
#

i don't see what's wrong

pale vessel
#

add a content type header

spice smelt
#

?

pale vessel
#

"Content-Type": "application/json"

spice smelt
#

didn't know that. where do I put that?

#

in the header?

pale vessel
#

yeah

#

you already got the body right by stringifying it

#

what's that for, i actually never used it haha

spice smelt
#

well i gotta eat right now then see you later 👋

pale vessel
#

is it for the response?

#

okay see ya

amber fractal
#

to declare what your app accepts back

pale vessel
#

ah i understand

amber fractal
pure lion
#

Ok stack underflow

pale vessel
#

what

pure lion
#

Ya boi needs some help

#

Call me retarded

pale vessel
#

hey retarded, what do you need help with?

pure lion
#

But how do I fetch all the IDs of the members withing a guild

#

Within*

modest maple
#

what language

tight plinth
#

Client options

pure lion
#

Discord.js

pale vessel
#

you can use members.fetch() if you really need all of them, otherwise just use the cache

pure lion
#

Ok but how to ID

pale vessel
#

map them

#

you map the collection of members to their id

pure lion
#

Call me retarded
.

#

The hint is

#

I don't know JavaScript 8)

pale vessel
#

oh god

tight plinth
#

Learn it

pale vessel
#

sorry man

amber fractal
#

then how did you make a bot

tight plinth
#

Please

pure lion
#

Uh

#

I learnt enough JavaScript

tight plinth
#

No

pure lion
#

Not enough apparently

pale vessel
#

well clearly it's not

tight plinth
#

If you don't know how to use a map u don't

spare goblet
#

Is it possible to migrate MySQL db whilst saving character set collation so that when I reupload SQL table into the new db the current character wont become corrupted

pure lion
#

Time to learn map

#

Brb

spare goblet
#

And if yes, how to do it

tight plinth
#

What is your new db

spare goblet
#

It's MySQL to MySQL

#

Lmao

tight plinth
#

Lol

spare goblet
#

I just wanna switch servers

tight plinth
#

Erm

pale vessel
#

did you try exporting it and see if it saved the collation?

spare goblet
#

But whenever I do, my current data is becoming ?

#

It didn't

pale vessel
#

ah

#

can't you set the default collation?

spare goblet
#

No because I'm not making new tables

#

I can make it so like

#

I export, import it, (at this point after.import it becomes ?), Then use SQL statement to change the character encoding

modest maple
#

@spare goblet Dont use MYSQL msfh

#

Save yourself

#

so much fucking hassle

pale vessel
#

hey that's mean i use MySQL too

spare goblet
#

But then it already became ?

modest maple
#

and use postgres

#

MYSQL has legit no benefits over postgres

#

Postgres is just Faster in general, Better data types, open source for even more data types, and has native roll back

spare goblet
#

I had one when I chose between MySQL and postgres

#

Which was bigger than other positives

#

Hence I use MySQL

Just trying o figure this out

modest maple
#

👏 Dont 👏 use 👏 mySQL 👏 smh

spare goblet
#

kellycry don't judge me

pale vessel
#

try the link Ben sent

#

seems to do the trick

spare goblet
#

Tysm

knotty steeple
#

mariadb

pale vessel
#

might as well use Postgres

knotty steeple
#

better mysql

modest maple
#

might as well use Postgres
True

knotty steeple
#

i just dont like postgres

spare goblet
#

Why

pale vessel
#

i've never tried Postgres

knotty steeple
#

the sql is slightly different

pale vessel
#

i'm too used to MySQL

modest maple
#

the SQL is litterally the same for MySQL

#

Other than some minor place holders

knotty steeple
#

yea no

spare goblet
#

Oh yeah

knotty steeple
#

i use sqlite anyway

pale vessel
#

i mean if it ain't broke don't fix it

modest maple
tight plinth
#

Or you can make a new db and use smth like a windows myslq db editor to manually copy paste the current db data, but it's annoying to do

spare goblet
#

Had some difficulty getting used to it when using postgres

knotty steeple
#

it works up to 1tb OmegaLUL

spare goblet
#

But it's understandable

modest maple
#

postgres easyyyyyy

magic jackal
#

I use Mongo😳

sudden geyser
#

arrays

modest maple
#

All i do when im doing postgres is make a load of functions

#

and send that to the DB on start

spare goblet
modest maple
#

and just call the functions

#

5k+ Querys a sec <5ms response time bloblul

knotty steeple
#

mongo setup was more complex than postgres

modest maple
#

I just docker everything

#

so for me either way its just an image

#

and some env vars

#

if i need to connect to postgres its just db in the connection string and tell docker to link

opaque seal
#

Can I verify my bot even if it's ony in let's say 10 guilds?

mossy vine
#

with discord no

opaque seal
#

only 75 or more?

jagged gulch
#

you need to get at least 75

mossy vine
#

yes

opaque seal
#

But they take soo freaking long to verify bots

#

and then while not verified the bot cannot join more guilds than 100

jagged gulch
#

it can for now

opaque seal
#

oh really

#

says the other way on their page

pale vessel
#

for now

jagged gulch
#

but once they fully implement it in october, then they'll limit u

opaque seal
#

implement what sry?

jagged gulch
#

the verification system

#

and its limit

opaque seal
#

oh

#

ok

#

thx for the info

jagged gulch
#

np 😄

#

Im also tryna get my bot verified but I j launched and I have like 10 guilds

opaque seal
#

nice try xD

jagged gulch
#

just gotta wait and advertise

#

ig

#

lmao

opaque seal
#

ok so

#

I saw your site

#

Everything is really cool and all, but how are you thinking of maintaining a bot without getting people to pay for it, being open source too

#

If you can make that, you are a god

jagged gulch
#

donations and stuff, also opt-in ads

mossy vine
#

people wont understand what to do with source code

jagged gulch
#

and Ive got enough cash to run it atm so I'm donating all current proceeds to the BLM movement to try and make an impact

opaque seal
#

people wont understand what to do with source code
some do though

#

and Ive got enough cash to run it atm so I'm donating all current proceeds to the BLM movement to try and make an impact
@jagged gulch noice

jagged gulch
#

yeah, Im worried imma spawn a shit tonne of crappy clones of my bot

pale vessel
#

did you just bring that up

jagged gulch
#

and my twitter aboutta get bombed with why unhandled promise rejection pls teach js

opaque seal
#

yeah, Im worried imma spawn a shit tonne of crappy clones of my bot
I'm worried that you'll need to spend a lot of money on hosting it, that's why I asked

mossy vine
#

then some will fork the bot or something. chances are they wouldnt pay anyways and even fi they would youre only losing out on a very small amount for the greater good of open sourcing code that people can learn from

jagged gulch
#

yeah, this is both a learning experience for me and others

#

I'm worried that you'll need to spend a lot of money on hosting it, that's why I asked
@opaque seal I'm only paying for hosting for my own bot, and google gave me a free vps for the year so yeah

#

they're doing a free trial rn with 300 dollars worth of cloud credits

opaque seal
#

wheaaat

grizzled raven
#

yall saying pg easier than mongo to set up?

opaque seal
#

Can I get that too? Where can I look that up?

mossy vine
#

in some cases

#

nice ads

#

time for ban

opaque seal
#

@slender thistle

pale vessel
#

lol

#

nice invite link

jagged gulch
#

Ive been trying to learn mongo but it hurts my head

#

I suck with databases

opaque seal
#

Ive been trying to learn mongo but it hurts my head
it's not that hard once you get the hang of it

jagged gulch
#

yeah im working on that

#

also

mossy vine
#

no thats when it gets worse. when you somewhat understand what youre doing but need to do more complicated queries

jagged gulch
#

fuck

mossy vine
#

but for the most part you wont need to

#

and even if you do, google is your best friend

opaque seal
#

There has to be a downsight with this google thing

#

WHo the heck gives away 300 dollars like that

mossy vine
#

its google, they can afford shit like that

jagged gulch
#

you've gotta manage the VPS urself, its not like heroku

#

all manual

pale vessel
#

pretty obvious since it's a VPS

opaque seal
#

you've gotta manage the VPS urself, its not like heroku
I'm using Vultr rn

#

Think it's the same

jagged gulch
#

never heard of that but prolly

opaque seal
#

Thanks mate for that

#

didn't know about it

jagged gulch
#

np mate

pale vessel
#

how long does the google cloud trial thing last for btw

jagged gulch
#

1 year

opaque seal
#

12 mnth

pale vessel
#

cool

grizzled raven
#

huh okay

mossy vine
#

thats like

opaque seal
#

It's a pretty long time

mossy vine
#

300/12 bucks per month

grizzled raven
#

might stick with mongo

#

man im

jagged gulch
#

it also gives u access to the WHOLE suite, that includes firebase hosting for static sites

opaque seal
#

300/12 bucks per month
many bucks let's sat xd

pale vessel
#

i can't math

grizzled raven
#

databases is where i start double taking everyth8ng

jagged gulch
#

Im tryna build persistent cloud data for my bot, I'm debating whether i should use mongo or just fs with some json files on my vps

grizzled raven
#

guess i'll just

mossy vine
#

mongo

opaque seal
#

Im tryna build persistent cloud data for my bot, I'm debating whether i should use mongo or just fs with some json files on my vps
no json please

grizzled raven
#

yeah

opaque seal
#

haha

#

what lang are u using

jagged gulch
#

mongo will be much more scalable but json is easier

#

js

#

with node

opaque seal
#

dude mongo is really easy

#

like really

jagged gulch
#

idk it confuses me

opaque seal
#

I use that with js too

jagged gulch
#

im dumb

opaque seal
#

what confuses you?

jagged gulch
#

ive never done database work before, so I'm learning how mongo handles pushing and retrieving data

opaque seal
#

what confuses you?
?

jagged gulch
#

the whole thing

#

ig

#

lmao

opaque seal
#

what you meannn xd

mossy vine
#

mongo be like
save shit? .insertOne
find shit? .findOne

jagged gulch
#

mainly the syntax

mossy vine
#

heres my totally epic take on mongo vs sql dbs

man i can write javascript instead of selling my soul and a kidney to satan and writing some broken english

opaque seal
#

It's like await client.yourdatabase.findOne(whichvalue: value, error, results =>

jagged gulch
#

i need to store big arrays and stuff tho

opaque seal
#

it's prettyu much just asking for that and saving data

jagged gulch
#

can it handle that?

mossy vine
#

it absolutely can

opaque seal
#

in like 2 lines of code

jagged gulch
#

damn

opaque seal
#

Yeah

jagged gulch
#

this is why you don't try to learn a db when ur hella sleep deprived lol

#

thats when I kinda gave up lol

opaque seal
#

Have you tried setting it up?

jagged gulch
#

I have a cluster, kinda got it set up but when I pushed a test collection i didn't see anything

opaque seal
#

If you send the code we can take a look at it

jagged gulch
#
const MongoClient = require('mongodb').MongoClient;
const mongouri = encodeURI(`mongodb+srv://<user>:${passwd}@cluster`);
const mongoclient = new MongoClient(mongouri, { useNewUrlParser: true, useUnifiedTopology: true });
mongoclient.connect(err => {
  const mongocollection = mongoclient.db("test").collection("devices");
  console.log(`Connected to mongo DB`);
  // perform actions on the collection object
  mongoclient.close();
});```
opaque seal
#

const mongocollection = mongoclient.db("test").collection("devices");
I've personally never done it like that

#

don't know if it works

jagged gulch
#

literally just copy pasted it from the cluster setup site lmao

opaque seal
#

I'll send you mine

jagged gulch
#

cheers

fast trench
jagged gulch
#

looks like a websocket issue

#

update node and d.js

fast trench
#

so just redownload node? or how lol

spice smelt
#

npm update discord.js or smth like that for djs

fast trench
#

this is also the only bot that is doing this...

spice smelt
#

for node I don't remember :/

jagged gulch
#

node update should also do the trick for node

fast trench
#

They should be good though...it's just this bot

#

the others are doing fine

jagged gulch
#

are you hosting them all together

fast trench
#

yes

spice smelt
#

I also got an issue 😅 (it's about the bitly API as you may have read before) : I got this code that uses bitly's API with node-fetch to shorten a link : ```js
let bitlyKey = switchJSON.bitlyKey;
let linkStr = msg.content.substring(PREFIX.length+5)
let link = encodeURI(linkStr)
if (validURL(link)) {

let settings = {
method: 'POST',
headers: {
"Content-Type": "application/json",
"Authorization": Bearer ${bitlyKey}
},
body: JSON.stringify({
long_url: link
})
}

fetch('https://api-ssl.bitly.com/v4/shorten', settings )
.then(res => res.text())
.then(body => console.log(body))
}

But the response keeps being ```
{"message":"FORBIDDEN"}

Any idea of why and how to fix it?

cinder patio
#

you don't have access to that endpoint

spice smelt
#

Yes, got it, it's litterally written in the error. But this makes no sense : this is available to everyone, and it cannot be the ratelimit. Can this be because I'm not logged in? Because I haven't found any UNAUTHORIZED error response in their docs

#

can FORBIDDEN replace UNAUTHORIZED?

#

pff i'm lost

cinder patio
#

They are different error codes so I don't think so

spice smelt
#

yes

mossy vine
#

forbidden means you dont have the permission to do that

cinder patio
#

but it's up to the devs

mossy vine
spice smelt
#

i know what forbidden means, it means i'm logged in and i'm not permitted to do that, and I know the difference with the 401 code. But this is really weird, since this is a public feature. I'll read their docs again.

jagged gulch
#

yeah do that, you might've made a bad endpoint request or smthn

spice smelt
#

it doesn't look like i've used a wrong endpoint, the endpoint isn't premium-only, and their docs about it are pretty short...

#

just to be sure: if someone uses bitly's API here : for the Authorization, is that the client secret I need to put? Is this the 'token' ?```js
"Authorization": "Bearer "+token

mossy vine
#

i think its access token

spice smelt
#

I only got the client id and the client secret

#

I found it!

#

It's a very weird way to use the API. The token is to use a user's account trough the bot. I don't think it has been made for bots, maybe for applications or interfaces or something.

knotty steeple
#

or use a better api

earnest phoenix
#
let banEmbed = new Discord.MessageEmbed()
    .setDescription("**Unmute**")
    .setColor("#ff9900")
    .addField("Muted User", `${tomute}`)
    .addField("Muted User ID", `${tomute.id}`)
    .addField("Mod", `<@${message.author.id}>`)
    .addField("Mod ID", `${message.author.id}`)
    .addField("Muted on", `${message.channel}`)
    .addField("Duration", `${ms(ms(mutetime))}`)  //here
    .addField("Reason", mReason)
    .addField("Date", `${message.createdAt}`);
jagged gulch
#

code for ${ms(ms(mutetime))}?

#

also can you log ${ms(ms(mutetime))} to see if it actually has a value

pearl igloo
#

where can i get help for coding stuff

pale vessel
#

you might be asking in the right place

pearl igloo
#

where is the right place

pale vessel
#

here

pearl igloo
#

ah ok

amber fractal
earnest phoenix
#

you don't know how to create a ping command

#

well okay, check the docs they should have an example

true ravine
#

What actually happens if my bot causes my system to reach 100% memory usage?

#

Does it just die? 🤔

earnest phoenix
#

you can check on google

#

im not sure because it hasn't happened to me, but i assume if you use something like pm2 it would auto restart

digital ibex
#

how can i get the a users username only from their id? so like, i've only got their id and how can i get their usernme

#

using eris

true ravine
#

I do indeed use pm2, so if it just restarts that's fine ig ^^

cinder patio
#

Lost, you can probably get it from the cache or just fetch the whole member

digital ibex
#

oh, sorry, my bad. not using eris, only expressjs

fast trench
#

any ideas about this? it's only doing it on one bot. Just started doing it 2 days ago and will crash after a while every time I restart it https://srcb.in/73d2b44e33

jagged gulch
#

@true ravine you likely have a problem if ur bot maxes out ur memory

#

How much ram do u have?

true ravine
#

1gb lul

#

It's a free vps so I ain't complaining

lethal hawk
#

in how many servers is the bot?

jagged gulch
#

I run a music bot and it rarely goes over 70mbs of ram

modest maple
jagged gulch
#

Although it isn’t in many guilds atm

true ravine
#

I'm in 560 guilds with around 80k users

jagged gulch
#

What kinda bot is it

earnest phoenix
#

RangeError [BITFIELD_INVALID]: Invalid bitfield flag or number.

#

What is error

true ravine
#

It's a delivery bot, so nothing actually intensive

jagged gulch
#

Wym by delivery bot?

true ravine
#

You order food and it sends you a picture of the food

lethal hawk
#

I think he means some kind of mailing system

jagged gulch
#

O damn

lethal hawk
#

lol

#

pictures can be resource intensive depending on how you process them. 1gb of ram seems low for 560 guilds.

jagged gulch
#

There’s gotta b something up with your code then, optimize maybe? If it’s just simple command, then dm then that shouldn’t be that intensive

#

But yeah u might need more ram for that many guilds

lethal hawk
#

Does someone here know if you can host a discord bot on a server with only ipv6 address?

true ravine
#

There’s gotta b something up with your code then, optimize maybe? If it’s just simple command, then dm then that shouldn’t be that intensive
@jagged gulch My bot is the first js I've ever written (properly - excluding online tutorials) so my code is probably trash

earnest phoenix
#

RangeError [BITFIELD_INVALID]: Invalid bitfield flag or number.
@earnest phoenix you gave an invalid bitfield

#

you probably did a permission check

#

and you misspelled the permission's name to check

#

MANAGE_ROLES_OR_PERMISSIONS

#

Fixed

#

Thanks

jagged gulch
#

@jagged gulch My bot is the first js I've ever written (properly - excluding online tutorials) so my code is probably trash
@true ravine that’s how I started off too. Best thing to do is go back to ur code and slim stuff down, or get more ram if u can

#

I’d use google vps cause they have a really good free trial, 12 months and 300 dollars worth of credits

true ravine
#

How much ram do they have?

#

I use AWS currently and their free tier is 1gb

jagged gulch
#

Anywhere from 512mb to 20gb I think

#

You customize your vps to ur needs

true ravine
#

O damn sounds epic

#

Cheers

jagged gulch
#

Np

dusk pendant
#

guys why is my bot making 3 of the same message when i only entered the command once?

lethal hawk
#

code?

dusk pendant
#

idk why

#

it only does

#

python btw

lethal hawk
#

can you post the code?

dusk pendant
#

the entire code?

#

or the commands?

lethal hawk
#

the part that sends the message 3 times

dusk pendant
#

ok

#

its for all commands

amber granite
#

if it only sends once in the code they probably made the mistake I used to make all the time and ran 3 instances of the bot

dusk pendant
#

entire code

amber granite
#

hopefully without token

dusk pendant
#

yeah

#

i use .env

lethal hawk
#

does it happen for all the commands, or just one of them?

dusk pendant
#

all of them

lethal hawk
#

Then it is probably as nwunder says, you started the bot more then once.

if it only sends once in the code they probably made the mistake I used to make all the time and ran 3 instances of the bot

dusk pendant
#

ok

#

how do i get rid of old instances?

lethal hawk
#

where do you run the bot? Home pc or vps?

dusk pendant
#

i run it on a vm linux

lethal hawk
#

type that in the console. If you changed the process name of your bot to something other then 'python', use that instead

#

or pkill -9 -f path/to/my_script.py

open flicker
#

can you explain how to make premium for a bot? and what needs to be added to the database

dusk pendant
#

sorry

#

its just that i use an online coding platform

#

cuz i don't have the rescources to host the bot

lethal hawk
#

I don't know how that host works. srry

dusk pendant
#

oof

#

its okay

cinder patio
#

It's not even meant to be a host

dusk pendant
#

its just that i don't have the resources

#

ya have to keep a computer running

#

so i didn't do that

lethal hawk
#

you can get a vps for as low as 2$ a month.

dusk pendant
#

i make $0/month

#

i'm like 12

#

i can't just run a computer

#

and i make no money

#

and this is free

cinder patio
#

yikes

lethal hawk
#

glitch.com is a decent free host, but it only works for js. I don't know any good ones for py

dusk pendant
#

ok

onyx summit
#

I think you can use a few hacks to run python with Glitch.com

#

I think tho

digital ibex
#

hi, so

#

i have https://discordapp.com/users/475371795185139712/, how can i get my username from that using javascript

lethal hawk
dusk pendant
#

its okay

quartz kindle
#

repl.it doesnt cause that issue by itself

#

whatever issue is causing it will also be present in any other host

#

the issue is most likely in the code

lethal hawk
#

take a look in his code then, I didn't find anything

digital ibex
#

but im still a bit unsure

quartz kindle
#

you want to get a user object directly from the api?

digital ibex
#

yeah

lethal hawk
#

I suggest using a discord library like discord.py or discord.js

digital ibex
#

its the only way i can get it

quartz kindle
#

you need to make a GET request with any http library

#

and put your token in the authorization header

digital ibex
#

what token would it be?

lethal hawk
#

you need to make a GET request with any http library
yes, but then it's one command and the library handles the rest

digital ibex
#

like the bots token

quartz kindle
#

yes the bot's token

#

like this

#

Authorization: Bot YOURTOKENHERE

digital ibex
#

oki, thank u

quartz kindle
#

you can test it with reqbin

onyx summit
#

If ur doing oauth you can use the access token and get the profile over other ways

digital ibex
#

im confused

quartz kindle
#

are you doing oauth?

digital ibex
#

how would i even interact with the api

#

yeah

quartz kindle
#

so for example

#

a user goes to you website, and you want them to login with discord

#

then get their username?

digital ibex
#

yeah. i've got the login bit sorted out, but all im storing in the db is the users id and other stuff, they're not unique tho

quartz kindle
#

once they login, you get their access token

#

you use this token instead of your bot's token to get their info from the api

#

using the me endpoint

digital ibex
#

im confused, how would i even interact with the api?

#

using node-fetch?

wheat jolt
#

send http requests?

digital ibex
#

i haven't really worked with api's, and when i do use them, i just do ```js
const something = await fetch('api url');
const thing = something.thing;

quartz kindle
#

its essentially the same thing

#

you just need to add headers

digital ibex
#

what would the url be?

earnest phoenix
#

i need help with my ban command

#

it bans people and wokr'sbut

#

works

#

but

#

it can ban someone that has a higher role than the person who is rying to ban

#

yk what i mean??

mossy vine
#

is http just a set of instructions on how to send data through a tcp socket

pearl igloo
#

any python coder which could help me with my bot

pure lion
#

Is there a way to implement a logical or on a case (discord.js)

sudden geyser
#

if you need help with something you can just ask here

mossy vine
#

@pure lion a || b

pure lion
#

Tried

sudden geyser
#

Elisdia are you looking for a switch case? switch (something) {}

#

what did you try

mossy vine
#

logical or is literally ||

pure lion
#

I did
case 'a' || 'b':

earnest phoenix
#

can anybdy help me??

pearl igloo
mossy vine
#

oh in a switch case?

#

dont do it like that

pure lion
#

O shirt

mossy vine
#
switch (shit) {
  case 'a':
  case 'b':
    console.log('cool shit')
    break
}```
pure lion
#

Ohhhhhhhhh

earnest phoenix
#

@mossy vine can u help me?

#

after

slender thistle
#

@pearl igloo Where @property async def is

earnest phoenix
#

thats the script

mossy vine
#

if (message.author.x5bz) return;

#

what

earnest phoenix
#

it can ban people higher role than the banning user

mossy vine
#

get their role positions and compare them

#

read docs on how to do so

earnest phoenix
#

ok

pearl igloo
slender thistle
#

Show me your on_message function

cosmic girder
#

How do i see what platform is user is useing such as mobile, pc, web

mossy vine
#

:readthedocs:

cosmic girder
#

@mossy vine there to confusing

#

Idk how to use the docs

dark steeple
#

how do i make an automatic response command by javascript?

cosmic girder
#

@dark steeple here

#
    msg.channel.send("Sorry")
  }```
#

If i do no

#

It would respond sorry

dark steeple
#

thx

chrome olive
#
  str.replace(/*/gi, 'remove bold text');

pandasad any solutions to replace * ?

modest maple
#

yes

amber fractal
#

escape the asterisk

modest maple
#

you replace *

amber fractal
chrome olive
#

"SyntaxError: Invalid regular expression: /*/: Nothing to repeat"
lmao

amber fractal
#

You didnt escape it

#
  • in regex is a quantifier
#

You need to escape it to actually match a *

chrome olive
#

but

#

it doesn't work

#

I mean I use a function to replace it

#
    cleanBio (text) {
        return typeof text === 'string' ? text.replace(/`/g, String.fromCharCode(8203)).replace(/@/g, String.fromCharCode(8203)).replace(/\*\*/, String.fromCharCode(8203)) : text;
    }
pearl igloo
#

How can i make that if anyone write in a chat, a message that it shows the message in my terminal with the users name in python with discord.py?

earnest phoenix
#

How can i get a developer role

shy light
#

I run my bot and it works without any problems. It responds to the commands I sent without any problems but after 6 minutes, the bot stops responding to commands and closes it to the console.
In addition, I run the same files in different bots and the bot has been running for 15 hours now.

brittle eagle
shy turret
#

@shy light happened to me might be something else thar happened idk

#

Just ignore it, happened to me today but nothing bad happened. Not even duplicate messages.

twilit prairie
#

how can i update my coins that i aleardy had in my database

shy turret
#

I think it is like the bot decided ro shutdown then restart again

#

@twilit prairie wdym

twilit prairie
#

like my coins i have is 100 i want to update my coins

shy turret
#

Like 100 + 1?

#

using vars

twilit prairie
#

11.6.4 i think

#

i am not sure

#

nvm it is 11.6.4

shy turret
#

I don't get it but ok.

twilit prairie
#

\

#

soory

#

sorry

pearl igloo
#

Who now, how i can make a coin system?

shy turret
#

Using a database

clever tree
#

I have a question. How could my bot create a channel that updates his name in an intervall. And how could I get this channel everytime my bot is ready ? Please tag for help :) Thank u

shy light
#

@shy turret, I couldn't understand anything

shy turret
#

Are you running 2 bots on 1 process?

pearl igloo
#

does anyone know how i can make a coin system?

shy turret
#

Or

#

Idk

#

@pearl igloo using a database

shy light
#

@shy turret, yes

twilit prairie
#

yay

shy turret
#

Then you can get the coin, possibly parseFloat() then add etc

pearl igloo
#

@pearl igloo using a database
@shy turret wym?

shy turret
#

A database

pearl igloo
#

where can i find it?

shy turret
#

@shy light that never happened to me before

#

@pearl igloo you make it

pearl igloo
#

but how?

shy light
#

Could there be anything from discor?

shy turret
#

@shy light might be something in the code

#

If you use try catch and dont catch the error, you might want to catch the error if there is any

shy light
#

@shy turret, I am running a different bot with the same files but I did not get a problem bot has been open for 17 hours now.

shy turret
#

Different process?

#

Well, it might have been a one time error or mistake your computer or node made

#

Maybe due to overuse of ram or cpu

shy light
#

@shy turret Could it be because of too many pings, sometimes the bot sees 10k pings.

digital ibex
#

optimise ur code

#

or get a better host

shy light
#

@digital ibex, let me try it

digital ibex
#

uh

#

ok

pearl igloo
#

@shy turret ?

clever tree
#

How could i get a spefic voicechannel by name on every server my bot is on ?

shy turret
#

@pearl igloo mysql, sqlite and other database programs exist

#

bettersqlite3

pure lion
#

can someone helpme (discord.js) i am big noob and bery bery tired plej help

#
    case 'presence':
      let uwu = msg.author.presence.activities.find(Activity => Activity.name)
      let state = msg.author.presence.activities.find(Activity => Activity.state)
      let type = msg.author.presence.activities.find(Activity => Activity.type)

      if (type != 'CUSTOM_STATUS') {
        msg.channel.send(`${msg.author.username} is currently doing stuff in ${uwu}`)
      } else if (type = 'CUSTOM_STATUS') {
        msg.channel.send(`${msg.author.username}'s status is ${state.toString()}`)
      }
    break;
#

its not working properly if someone has a custom status

marble osprey
#

how can I do a gif in a embed with discord.js

earnest phoenix
#

.setImage

visual sandal
#

.setImage("GIF_URL")

jagged gulch
#

^

#

@pure lion error pls?

earnest phoenix
#

Send a sourcebin

#

Of the code

#

Lets me explain first

#

Actually

#

Do you have ffmpeg as an environment variable

#

yes

#

when my bot i playing a song and i use disconnect from discord not like a command

#

Yh

#

then when i do play it dosent connect again but it adds it to the queue

#

if i do # skip it crashes

#

and give me this

#

Destroy the queue when it disconnects

#

i will try that

#

soo how do i do that 😄

#

Well I can't spoonfeed

#

¯\_(ツ)_/¯

#

I use Lavalink and Erela.js, I recommend that

#

i use discord.js

#

this is the play

cosmic girder
#

How do i see the amount of members on a guild?

earnest phoenix
#

^

cosmic girder
#

Just .memberCount?

earnest phoenix
#

No

cosmic girder
#

Soo?

earnest phoenix
#

Figure the rest out

#

No spoonfeed

#

Or check discord.js docs

cosmic girder
#

Bruh i asked for help not for just a .memberCount

earnest phoenix
#

?

calm lantern
earnest phoenix
#

.edit

calm lantern
#

I tried.

#

It loops the message.

#

and edits it

earnest phoenix
#

Bruh i asked for help not for just a .memberCount
@cosmic girder also what else would you be using instead of .memberCount

marble osprey
#

how I can a random gif do in a embed?

earnest phoenix
#

You can use an API

#

Like tenor

#

And fetch random gifs

cosmic girder
#

@earnest phoenix i understand that but i asked for HELP, i got a message with a cmd ive never seend

#

Its not spoon feeding its explaining

earnest phoenix
#

How do i see the amount of members on a guild?

#

That was your help

#

.memberCount

#

Yh exactly

cosmic girder
#

Ik thats why i asked whats aprt of itt

earnest phoenix
#

Yh learn the basics

cosmic girder
#

Nah dip The One And Only Sherlock ik the basics is it bad tht im asking for help

calm lantern
#

sorry I'm kinda dumb, I know that one of the ways to edit a message is using this .then(msg => { msg.edit but how can I trigger it without the ".then"?

earnest phoenix
#

You defo don't know the basics

calm lantern
#

yeah

earnest phoenix
#

If you can't find out what is before .memberCount

calm lantern
#

oh it's not me

#

e

cosmic girder
#

Uh i really do tho now answer my question is it bad that im asking for help

earnest phoenix
#

Never said it was bad

#

Also this is a development channel

#

Don't start anything

cosmic girder
#

Ik u didnt but ur giving off intestions that u are

#

Alright

calm lantern
#

sorry I'm kinda dumb, I know that one of the ways to edit a message is using this .then(msg => { msg.edit but how can I trigger it without the ".then"?

#

I really don't know how

#

BUT HOW

sudden geyser
#

Mihz happy one year older day

calm lantern
#

JDSADSA

earnest phoenix
#

Define msg first

calm lantern
#

I did.

earnest phoenix
#

Smh