#development

1 messages Β· Page 1697 of 1

waxen bough
#

i only have 1 shard

#

cuz there are not much server it joined

#

but nvm that's not the big problem i have right now

#

i have to rethink my code structure again

tacit sequoia
waxen bough
#

it's having circular imports haha

unreal estuary
#

how do you change a channel's position in discord.py

median iris
#

Im back

#

\n

quartz kindle
#

when you delete your own message, there is no audit log

#

so if you fetch the most recent audit log like you are doing, it will be the audit log for the wrong thing

unreal estuary
#

await channel.move(message.channel.position)
AttributeError: 'TextChannel' object has no attribute 'move'

#

can someone help

ornate otter
#

Does anyone know much about discord receiving audio because i know discord doesn't support it but the library does, but it always breaks when audio packets are received from web discord clients, not program or app, if anyone knows how i could make it accept both that would be great

unreal estuary
#

python

dusky sundial
unreal estuary
#

ok thanks

#

worked πŸ‘

rustic hamlet
#

Guys do u know how i can get the "general/default" channel of a guild with discord.py?

#

Like when you invite a bot and it says "thanks for inviting me"...

#

how does the bot get the welcome channel?

earnest phoenix
quartz kindle
#

no there is not

#

the solution is check the message id of the audit log

#

if the message id is not correct, then there is no audit log for the message

#

and if there is no audit log for the message, it means it was not deleted by someone else

green kestrel
#

damnit

#

I just spent ages trying to get zlib stream compression to work on discord api

#

it kept throwing data errror

#

turned out I was applying zlib compression at the websocket layer rather than at the json layer

#

smh

quartz kindle
#

rip

green kestrel
#

still had the 00 00 FF FF on the end of the frame so was detected as a compressed frame, but had the websocket header uncompressed on the start lol

placid meadow
#

where did that happen ?

#

oh now i see

#

you wrote ur own api manager @green kestrel

#

?

pale vessel
#

i think he legit wrote everything by himself

#

from his website to his bot library

earnest phoenix
latent heron
#

oh hiiii @green kestrel

#

I have several questions for you then

fierce ether
#

TypeError: this.isServerAdmin is not a function js /** * Passthrough method to check if user is server admin * @param {Member} member Guild member object * @param {Channel} channel Channel object * @returns {Boolean} */ isServerAdmin(member, channel) { return this.client.permissions.isServerAdmin(member, channel); }

lusty quest
#

isServerAdmin iirc is not a thing

#

permissions.has('ADMINISTRATOR') is a thing

fierce ether
#

im handling permissions by extending base, and isServerAdmin is in base

fierce ether
lusty quest
#

ok

unreal estuary
#

await bot.change_presence(status=discord.Status.idle, activity=game) why does the bot still show as online

#

and not idle

fierce ether
#
      handlePermissions(context, args) {
         return this.permissions ? Permissions.handle(context, this.permissions, args) : true
      }``` handling like this?
celest patio
#

!rank\

#

!rank

umbral zealot
slender wagon
#

does a docker do the same thing as PM2

umbral zealot
#

no, pm2 just manages processes

#

docker creates fully self-contained machine environments which is sandboxed

misty sigil
#

and docker is pog

slender wagon
#

oh

#

do i need docker when i start the bot sharding?

umbral zealot
#

No, not at all

#

sharding is processes, not dockers

slender wagon
#

oh i should read more about dockers then

umbral zealot
#

shit I can't even imagine any discord lib requiring the use of docker. That would filter out so many noobs

slender wagon
#

lol

#

but docker would help?

umbral zealot
#

not really

earnest phoenix
#

I'm using model.watch to receive insert, update, delete operation events from MongoDB. Mongodb some times returns something like tags.3: { name: 'a tag' }. I want to parse it and convert it into: tags: [..., ..., { name: 'a tag' }]. I have been assigning the updated fields to a cloned a object and using new model(cloned_object). But mongoose has issues with it, some times it adds the value and some times it doesn't. Is there any other way to parse something like that? Without writing a custom parser?

umbral zealot
#

Docker is for containerizing which is more about security and distribution than it is about process management

slender wagon
#

oh alrightys thanks πŸ˜„

umbral zealot
#

So if I get, say, a docker image for PostgreSQL, I know it's gonna be self-contained and it can't access anything outside the docker container - so even if I make a mistake and let SQL injection through someone can't just go ahead and format my drive, because the "code" runs inside the container.

slender wagon
#

aha i get it

umbral zealot
#

And if I make a service and I want to distribute it real quickly and easily I can just create a docker image and share it, even if it depends on other docker images or custom code

slender wagon
#

oh

#

that's pog

misty sigil
#

I assume you’d use volumes for databases though

#

instead of just running a container

umbral zealot
#

Probably but I was trying to explain it in simpler terms for beginners ^_^

tacit sequoia
tulip ledge
#
      channel.overwritePermissions([{
        id: message.guild.id,
        deny: ['VIEW_CHANNEL'],
      }, {
        id: message.author.id,
        allow: ['VIEW_CHANNEL'],
      }, {
        id: "183978195551387649",
        allow: ['VIEW_CHANNEL'],
      }, {
        id: "259776081316282368",
        allow: ['VIEW_CHANNEL'],
      }]);

TypeError [INVALID_TYPE]: Supplied parameter is not a User nor a Role.

#

I have no clue wwhich one is not a snowflake

umbral zealot
#

I'm gonna go with @tardy holly not being valid?

#

lol

tulip ledge
#

no it is

umbral zealot
#

well they're all valid then

tulip ledge
quartz saddle
tulip ledge
#

thatsc my id

umbral zealot
#

That's their ID πŸ˜„

#

those are all good IDs

tulip ledge
#

I think

#

cuz it doesn't change anything

#

is that possible?

umbral zealot
#

I'm 90% certain that would just be the everyone role

#

aka "no one can see this by default"

tulip ledge
#

it should

quartz saddle
#

not just a string with the id

umbral zealot
#

no IDs are role resolvables

#

it's fine

tulip ledge
#

Ok so I put in the guildid manually

umbral zealot
#

the code looks perfect

tulip ledge
#

and now it worked

umbral zealot
#

well that's weird

tulip ledge
umbral zealot
#

were you on the right guild? kekface

tulip ledge
#

yes

timber jolt
#

how do you define run?

umbral zealot
#

uhhh const run = 'something'; ?

timber jolt
#

facts

feral perch
#

can anyone help me with this?

#

using a custom search engine api

steep drum
#

It says error bad request

sour flame
fierce ether
#
'use strict';

const Base = requireReload(require)('./Base');
   /**
    * @class Permission
    * @extends Base
    */
   class Permission extends Base {``` this would extend base correctly?
feral perch
delicate shore
#

Hey guys

#
4|index  | MongoError: E11000 duplicate key error collection: Cluster0.api keys index: password_1 dup key: { password: "yes" }
4|index  |     at Function.create (/var/www/oauth/node_modules/mongodb/lib/core/error.js:57:12)
4|index  |     at toError (/var/www/oauth/node_modules/mongodb/lib/utils.js:123:22)
4|index  |     at /var/www/oauth/node_modules/mongodb/lib/operations/common_functions.js:258:39
4|index  |     at handler (/var/www/oauth/node_modules/mongodb/lib/core/sdam/topology.js:944:24)
4|index  |     at /var/www/oauth/node_modules/mongodb/lib/cmap/connection_pool.js:350:13
4|index  |     at handleOperationResult (/var/www/oauth/node_modules/mongodb/lib/core/sdam/server.js:558:5)
4|index  |     at MessageStream.messageHandler (/var/www/oauth/node_modules/mongodb/lib/cmap/connection.js:277:5)
4|index  |     at MessageStream.emit (events.js:315:20)
4|index  |     at processIncomingData (/var/www/oauth/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
4|index  |     at MessageStream._write (/var/www/oauth/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
4|index  |     at writeOrBuffer (internal/streams/writable.js:358:12)
4|index  |     at MessageStream.Writable.write (internal/streams/writable.js:303:10)
4|index  |     at TLSSocket.ondata (internal/streams/readable.js:719:22)
4|index  |     at TLSSocket.emit (events.js:315:20)
4|index  |     at addChunk (internal/streams/readable.js:309:12)
4|index  |     at readableAddChunk (internal/streams/readable.js:284:9) {
4|index  |   driver: true,
4|index  |   index: 0,
4|index  |   code: 11000,
4|index  |   keyPattern: { password: 1 },
4|index  |   keyValue: { password: 'yes' }
4|index  | }
#

Problem is, I want to use same Collection in 2 different NodeJS products

#

:C

lusty quest
#

you have duplicated keys, make sure you enforce that keys are unique

delicate shore
#

which keys?

lusty quest
#

password_1

delicate shore
#

password_1 dup key: { password: "yes" }

#

password is duplicate

#

but I want to only keep one record with all the api keys

#

:C

thick nexus
#

if someone doesnt have a nickname what does display_name return

lusty quest
delicate shore
#

This is the thing

#

where all api keys are there

delicate shore
lusty quest
#

you store all keys in a array inside the document right?

delicate shore
lusty quest
#

why not making documents for each api-key?

delicate shore
#

because I wasn't that smart

#

and now I have 50 api keys in a single array

#

;-;

lusty quest
#

well you could still save it,

delicate shore
#

how?

lusty quest
#

make a schema for having a document for each API-key. then write a little migration script to get the API key out of the array and inside its own document

delicate shore
#

I can do first part

lusty quest
#

then you just have to fix the rest of your code to use the new structure

delicate shore
#

second is a bit tricky

lusty quest
#

ive wrote myself a script to migrate from mysql to MongoDB, and transfered almost 200 Datasets over, so you will manage to do it with 50

delicate shore
#

oh

#

like a forEach function

lusty quest
#

one way or a for in loop

delicate shore
#

for loop is better

lusty quest
#

yes

sterile lantern
#
if(answer1.first().content.toLowerCase() === "buying") {
  type = "buying"
}
else if(answer1.first().content.toLowerCase() === "selling") {
  type = "selling"
}
#

i wanna set type

#

but then i cant use it at the end

lusty quest
#

where did you define type?

sterile lantern
#

type is defined as ""

lusty quest
#

outside of this?

sterile lantern
#

yep

lusty quest
#

did you tried to return the value? or use promises?

delicate shore
#

ima go and try and come back here

#

the migration method

sterile lantern
#

i mean i just want to set it as either

#

but the issue is

#
if(answer1.first().content.toLowerCase() === "buying") {
  type = "buying"
}
else if(answer1.first().content.toLowerCase() === "selling") {
  type = "selling"
}```

with this, i cant get type at the bottom
#

because its in that snippet only

lusty quest
#

it returns undefined or " "?

sterile lantern
#

undefined

lusty quest
#

i would wrap this stuff then inside a promise, bcs the code runs further without waiting for the type to be assigned

delicate shore
#

how to use await

#

in for loop

steep drum
# feral perch hereee'

I haven't used the module you're using but it seems to me you've already sent off your get request with .get() and the .query() after it will do nothing at that point

lusty quest
#

wrap it inside a promise

umbral zealot
#

you can literally use await in a for loop if it's in an async function

#

like for..in and for...of and for...i loops. - NOT forEach

quaint wasp
#

how do I catch an error?

steep drum
#

Wrap it in a try catch block

lusty quest
#

try/catch or .catch on a promise

feral perch
delicate shore
#

Should this work?

steep drum
#

Probably query first before the get

quaint wasp
#
      try (error) {
        message.channel.send(`Bro I just got an error! \n **Error: ${e}**`)
      }``` how
delicate shore
#

already.length*

quaint wasp
#

?

lusty quest
#
try{
  message.channel.send("lets catch an error")
}catch(error){console.log(error)}
```this will catch the error resulting from not being able to send the message
quaint wasp
#

o

#

thanks

lusty quest
#

this is only an example, since send() returns a promise you can also do send().catch(error=>console.log(error))

quaint wasp
#

o... interesting.

lusty quest
woeful pike
delicate shore
#

@lusty quest it worked pogey

#

Thanks bud

lusty quest
woeful pike
#

I mean yeah but that example literally will not work LULW

lusty quest
#

you cant spoonfeed if the code doesnt work

woeful pike
#

your spoonfed code example is wrong dawg wdym

lusty quest
#

well they will still have to use braincells to find the error

#

so copy/paste wont work

lusty quest
woeful pike
#

why even bother sending the example then, it's more misleading than anything

feral perch
#

@steep drum did that didnt work

lusty quest
#

its not entirely miss leading, it just needs to run async

feral perch
lusty quest
#

also just out of my head i wanted some simple stuff to tell him how it works, and i think he understood what i ment

lyric mountain
#

intellij just got built-in html preview

lusty quest
lyric mountain
#

bad request = read docs to find proper request params

feral perch
#

yeah i got that

lusty quest
#

did you need to send some sort of authentification header?

steep drum
#

Again, I don't know the module you're using, you need to set your query parameters before sending the get request

lyric mountain
lusty quest
#

where a pain in the ass to figure out whats wrong

lyric mountain
#

bad request is specifically related to not enough params/headers or wrong data types

lyric mountain
#

but returning 404 is kinda clever

steep drum
#

The api they're using doesn't need an authentication header

lyric mountain
#

like, you can't force-access a service if you don't know there's a service

lusty quest
#

what do they require for headers?

feral perch
#

i'll check the docs

steep drum
#

Standard get, they're just not setting the query parameters before sending it off

quaint wasp
#

how do I ping people with Discord.js?

#

<@(id)>?

lusty quest
#

just send the user object

quaint wasp
#

someone else

lusty quest
#
send(`${user}`)```
quaint wasp
#

that didnt send the message

#

like my ping

#

for example someone runs a command

#

and the command then pings ME

summer torrent
lusty quest
#

also works

lusty quest
quartz kindle
#

<@id> should work yes

#

without ()

crystal wigeon
#

anyone here knows spanish?

quartz kindle
#

better than sending user objects because they depend on the library's toString() behavior

#

which you never know

lusty quest
#

he said he uses d.js

quartz kindle
#

yes but you never know

lusty quest
#

true

earnest phoenix
#

true

feral perch
#

@lusty quest solved that error now got another one xd

quartz kindle
#

wasnt it changed from v11 to v12 or something?

crystal wigeon
#

nop

feral perch
#

one of the params was wrong

crystal wigeon
#

<@id>

#

works

crystal wigeon
#

im using that currently

quartz kindle
#

i remember at some point concatenating a user object would give you something else instead of the mention

feral perch
#

after the stage update

#

@lyric mountain Thanks!! one parameter was wrong! a small typo weirdsip it works now!!

fierce ether
#

MessageEmbed { is being logged without anywhere logging it?

cinder patio
#

maybe it's logged in another file? That only searches the one you're viewing

fierce ether
#

fixed thx

quaint wasp
cinder patio
#

Where is this?

#

In an embed?

lyric mountain
#

nor use emote

quaint wasp
#

why

green kestrel
lyric mountain
#

actually, the rule is: if you gotta type <something> it wont work

green kestrel
vernal moth
#

so I have been trying to create a slash command, after many debugging, there was an error saying "404 Not Found"

client.on("ready", () => {
    client.api.applications(client.user.id).guilds("514197172250476548").commands.post({
        data: {
            name: "",
            description: "",
            options: [
                {
                    name: "amount",
                    description: "",
                    type: 4,
                    required: true
                }
            ]
        }
    });
})
client.ws.on("INTERACTION_CREATE", async interaction => {
    const command = interaction.data.name.toLowerCase();
    const args = interaction.data.options;
    if (command == '') {
        const description = args.find(arg => arg.name.toLowerCase() == "").value;
        const Embed = new Discord.MessageEmbed()
        client.api.interaction(interaction.id, interaction.token).callback.post({
            data: {
                type: 4,
                data: {
                    content: await createAPIMessage(interaction, Embed)
                }
            }
        });
    }
})
async function createAPIMessage(interaction, content) {
    const apiMessage = await Discord.APIMessage.create(client.channels.resolve(interaction.channel_id), content)
        .resolveData()
        .resolveFiles()
    return { ...apiMessage.data, files: apiMessage.files };
}```
#

and the thing i should do is...check the server ID

#

its valid. server ID is in place and valid

frigid mountain
#
const discord = require('discord.js')

module.exports = {
    name: 'quiz',
    run: async (message, args) => {

const quiz = require('./quiz.json'); 
const item = quiz[Math.floor(Math.random() * quiz.length)]; 
const filter = response => { 	
   return item.answers.some(answer => answer.toLowerCase() === response.content.toLowerCase()); 
}; 

Do I add

  `${collected.first().author}`

To the embed cause I want to make it embed

vernal moth
#

p.s. ping me if you have a solution

delicate shore
#

how can I get access to a user's private email address

lyric mountain
#

oauth2

delicate shore
#

not working

#

It only gives public info

lyric mountain
#

then you cant

delicate shore
#

what do I do pandasad

lyric mountain
#

request email?

delicate shore
#

Isn't oauth a bit cool

#

but I guess that works either

delicate shore
#

or maybe I can do Google Oauth

lyric mountain
#

what is "collected"? where are you putting that last line?

lyric mountain
delicate shore
#

ight

near igloo
#

yo this is so helpful

#

idk if itll help anyone else

#

but i needed it

cinder patio
#

sus

near igloo
#

||also suckers discord disabled my account (im appealing...) so i used my moms phone to verify||

#

shhhhh

#

🀫

placid meadow
#

ur moms phone?

#

πŸ˜‚

near igloo
#

ofc i live with my mom

#

ya doy

placid meadow
#

i understand

rapid wharf
#

I wanted to make a command to delete msgs for a single user. is it possible
i have been trying
await user.message.purge(limit=amount)
and also
await ctx.user.channel.purge(limit=amount)
but none worked, any idea

silk wadi
#

isnt it channel.purge?

rapid wharf
#

no no msg of only one single user

silk wadi
#

idk have u checked the docs

rapid wharf
#

could not find for a single user

silk wadi
#

lemme try

cinder patio
#

I'm pretty sure you can't do that

silk wadi
#

This is just loop

#

not very efficient but maybe theres no other way

#
await channel.purge(limit=amount, check=lambda message: message.author == ctx.author)
#

this would be better ^^

near igloo
#

is that python?

#

or js

silk wadi
#

yep

#

python

near igloo
#

okay

#

cuz js would be very diffrent

silk wadi
#

hm

near igloo
#

in js we dont have a lamboda (callback), we just gotta fetch the messages, filter, then pass back to bulkdelete

#

delyeet

#

discord.js

cinder patio
#

I'm pretty sure discord.py just loops over the user's cached messages and deletes them

#

it doesn't loop through you can specify the messages IDs to delete*

south bay
#

guys my bot have much ping what should i buy a vds (my vds is free) or vps?

rapid wharf
#

Thank you for the help broo @silk wadi just onr more thing in that code from stackoverflow whta does this mean

            break```
rapid wharf
south bay
#

sweplox

rapid wharf
# south bay sweplox

try heroku i m hosting there and i m getting very quick responces (fast as F boi πŸ˜‚ )

rapid wharf
# south bay can send site link from DM?

i will send you a vid link that will explain how to host, but the free hosting only gives us 550 hrs thats 23 days, for the rest 7 days of month make a second acc on that same hosting, easy cheating... πŸ˜‚πŸ˜‚
check i DMed

south bay
#

k

steep drum
south bay
#

send :D

rapid wharf
near igloo
sterile lantern
#

how would i make it so it checks for either and not both conditions

if(answer4.first().content.toLowerCase() !== "buying" ||  !== "selling") {```
rapid wharf
#

just use an or

copper cradle
#

they're both lambdas

near igloo
copper cradle
#

that's not a callback

#

that's called an arrow function

near igloo
#

same diffrence

copper cradle
#

a callback can be any function you want

rapid wharf
#

its JS??

#

then i m blank

copper cradle
#

you should've specified that you were talking about the callback in the bulkdelete method

#

cuz just saying "js doesn't have lambdas" could lead to a long conversation with some person whose name I won't mention

near igloo
# copper cradle you should've specified that you were talking about the callback in the bulkdele...

https://discord.js.org/#/docs/main/stable/class/TextChannel?scrollTo=bulkDelete

our best bet is to fetch, filter, then pass in an array of mgs

sterile lantern
sterile lantern
#
if(answer1.first().content.toLowerCase() !== "buying" || answer1.first().content.toLowerCase() !== "selling") {
  return message.author.send("Prompt cancelled!")
}```
lyric mountain
#

that

sterile lantern
#

i tried it

#

but still cancels it

steep drum
#

that's always true

copper cradle
#

omg

lyric mountain
#

oh, yeah, didn't notice it

#

if one of the two is false, it'll always be true

sterile lantern
#

o

lyric mountain
#

because you're using !==

copper cradle
#

if it's not buying it will be selling so the first will be true, if it's not selling it will be buying so the second will be true

lyric mountain
#

so, if first is false, second is true

#

if first is true second is false

copper cradle
#

if any of those it's true the if statement will execute

vivid fulcrum
#

also transforming the content twice notlikenoot this is what leads to memory issues and performance drops

copper cradle
#

that's basic logic

sterile lantern
#

o i think ik what to do

#

check if the options are included in an array

steep drum
#

just change the or to and

sterile lantern
#

o yeah

steep drum
#

assuming what you're trying to check is that the input is one of those two options

lyric mountain
#

lemme tell you a secret:

public static boolean equalsAny(String string, String... compareWith) {
  for (String s : compareWith) {
    if (string.equalsIgnoreCase(s)) return true;
  }

  return false;
}
#

ik it's java

#

but it's 101% handy to have something like that

copper cradle
#

String string

#

nice

#

String string = new String;
string.toString();

lyric mountain
#

then instead of, say:
if (someVar === "abc" || someVar === "def" || someVar" === "ghi")
you just do:
if (equalsAny(someVar, "abc", "def", "ghi"))

vivid fulcrum
#

good thing c# has all of those built in mmLol

#

linq is so powerful

copper cradle
#

if ([var1, var2, var3].includes("word"));

neat beacon
#

Alright i learned a bit and finally made the bot online, can someone give me a small javascript with the command "ping"? i want it as embed and would like someone from here rather than picking from random dudes at the internet

#

Feeling gud

lyric mountain
#

that'll show "ping"

neat beacon
#

I mean a response

lyric mountain
neat beacon
#

like

Human: k!ping
Bot: Pong! (if possible i would like to show ms too)

vivid fulcrum
#

im gonna start giving obfuscated code snippets whenever someone asks to be spoonfed

lyric mountain
#

console.log("Human: k!ping\nBot: Pong! (if possible i would like to show ms too)")

sterile lantern
#

is it possible to check for a number for part of a content

#

e.g: i say 5 USD, it checks if it includes a number or not

vivid fulcrum
#

split by space

#

iterate over the array

sterile lantern
#

oh yeah i can check like that

vivid fulcrum
#

call Number on every element and see if it returns a number or NaN

grizzled raven
#

they just want you to figure out the ping command yourself

neat beacon
#

yeah just noticed lol

#

i mean, like other bots do

#

you say !ping and then they answers with the ping and ms

steep drum
#

we want you to at least try to attempt it first

opal plank
neat beacon
opal plank
#

instead of isNaN(Number(number))

vivid fulcrum
#

i keep forgetting js has that

#

also

#

ideally

#

wait

lyric mountain
opal plank
#

use websocket ping

opal plank
#

or console.time()

vivid fulcrum
#

nvm im too lazy to explain and it's a pain on my phone

neat beacon
#

Now ill go have an headache trying to discover how to make it lol

neat beacon
#

Bai

#

Oh wait i'm not over yet

#

About the commands

#

i do them as a different file or add them to the main file?

lyric mountain
#

diff files

neat beacon
#

Oh nice ty

steep drum
#

the discordjs tutorial goes over all this

lyric mountain
#

don't clutter your index file for the sake of your sanity

vivid fulcrum
#

ideally you would create a command handler system that has different files, that way you can dynamically alter your things

neat beacon
#

Discord + Chrome in my pc means death

vivid fulcrum
#

discord is chrome

neat beacon
#

Internet explorer better

#

use it

lyric mountain
neat beacon
#

leaves room

fierce ether
#
({ data: { name, color: hexCode, hoist }})``` how do i make hoist? if hoist is a boolean?
vivid fulcrum
#

i want an electron alternative that doesnt run on chromium :(

lyric mountain
#

don't ask discord for yet another version

#

look at mobile

vivid fulcrum
#

hm?

#

cross platform support sucks ass though

#

last time i used react-native-windows it was horrid

frigid mountain
lyric mountain
#

you only gave two meaningless fragments, can't help much with only that

sour flame
frigid mountain
lyric mountain
#

okay...?

#

and?

neat beacon
#

Aight i'm having a problem with the tutorial lol, can someone fix this? It answers if i saw k!prune 1, saying that i have to choose between 2 and 100, but if i do it right as "k!prune 2" it don't delete the messages pepowot code below totally not copied from the tutorial πŸ‘€

#

else if (command === 'prune') {
const amount = parseInt(args[0]);

    if (isNaN(amount)) {
        return message.reply('that doesn\'t seem to be a valid number.');
    }
    if (isNaN(amount)) {
        return message.reply('that doesn\'t seem to be a valid number.');
    } else if (amount < 2 || amount > 100) {
        return message.reply('you need to input a number between 2 and 100.');
        message.channel.bulkDelete(amount, true);
    }
near igloo
#

the way you have it set, if its out of range it will error then delete, and if its in range it wont do anything

#

you have the code running alongside the error

#

put the bulkdelete in a else at the end of that if

neat beacon
#

oh i see

#

ty

near igloo
#

np

neat beacon
#

ah srry by bothering

near igloo
#

nono its fine

neat beacon
#

but when i make the files with commands thing

steep drum
#

also, it doesn't matter but the delete doesn't run because you're returning first

neat beacon
#

i can make them in a folder or inside of the index.js folder?

steep drum
#

use a linter, it'll catch stuff like unreachable code

#

they do return message.reply

neat beacon
#

Any recommended one?

near igloo
#

so its fine

#

its in the if

neat beacon
#

Erm well, my pc actually dont want me to install more thing on it

#

I mean this, beware

lyric mountain
#

I wonder how you even plan to code without space

#

also, I hope you're not using SSD

#

else you're RIP'ed

steep drum
#

i'm just saying, ignoring that the logic is incorrect, you shouldn't have code after a return

neat beacon
#

hd

lyric mountain
#

28 GB HDD?

neat beacon
#

brazil rules

#

An pc with that is op

lyric mountain
#

ah vtnc

steep drum
near igloo
#
else if (command === 'prune') {
        const amount = parseInt(args[0]);

        if (isNaN(amount)) { //duplicate
            return message.reply('that doesn't seem to be a valid number.');
        }
        if (isNaN(amount)) { //fine
            return message.reply('that doesn't seem to be a valid number.');
        } else if (amount < 2 || amount > 100) { //only happens when out of range 
            return message.reply('you need to input a number between 2 and 100.'); //fine
            message.channel.bulkDelete(amount, true);//put in an else so it only happens when in range
        }``` @neat beacon @steep drum
lyric mountain
urban cape
#

I am a little noob in nodejs, but i want to make this a async fucntion

https.createServer(options, function (req, res) {})

where should i put "async"

neat beacon
#

Ok so i replace the current one with that?

neat beacon
near igloo
urban cape
#

remove the function word?

lyric mountain
# urban cape I am a little noob in nodejs, but i want to make this a async fucntion ```js htt...
urban cape
#

ok

near igloo
#

the => indicates a function

lyric mountain
#

except if he can't use lambda

#

(arrow function)

near igloo
#

hes defining a function and putting it in as a variable

neat beacon
#

Here i am again with my noob modes online

near igloo
#

aka arrow function

neat beacon
#

ignore the folder name just throwed the project in a random folder

near igloo
lyric mountain
#

well, lambdas are slightly different from plain functions

neat beacon
#

let me sc it

lyric mountain
#

"this" for example

neat beacon
#

ss*

near igloo
near igloo
# neat beacon

oh use " instead of '
when you did the contraction it thought it was completing your string

lyric mountain
#

they aren't identical

neat beacon
#

ah i see

near igloo
#

and put the bulkdelete in a else {} at the end

near igloo
lyric mountain
#

when you need to use "this" or "arguments"

#

or when you need to use "new"

near igloo
#

πŸ€¦β€β™‚οΈ

#

you dumb thats a class

#

not a function

lyric mountain
#

no?

near igloo
#

functions dont have those either.

lyric mountain
#

they do

near igloo
quartz kindle
#

Classes before ES6:

lyric mountain
#

if you want I can get more sources

simple zodiac
#

Does anyone know how to get the first emoji stated in a message? I know theres like message.mentions.user.first() and stuff, I tried that with emoji and (obviously?) it didnt work.. Thanks (Discord js)

near igloo
#

your right

#

you win

#

happy?

lyric mountain
#

yes, very

near igloo
lyric mountain
#

you wanted me to prove it, so I did

near igloo
#

i admit i was wrong about the this

lyric mountain
quartz kindle
near igloo
simple zodiac
#

Would that thing work with it?

quartz kindle
#

for custom ones you can match <:name:id>

#

yes it should work

lyric mountain
simple zodiac
#

thx

lyric mountain
#

iirc it happened once here, don't recall the context tho

#

changing from lambda to function solved it

#

(I'll call lambda, arrow function is too long)

quartz kindle
#

anon function

#

:^)

pale vessel
#

4chan function

lyric mountain
#

I hate when I need to get this.getClass().getName() but it's inside a lambda

pale vessel
#

this.doThis().doThat().getThis().getThat().clearThis().clearThat().doneThis().doneThat();

sinful basin
sour flame
sinful basin
#

NpπŸ‘Œ

lost heath
#

hey. this is a very long shot, but is there any chance anyone here known how reactjs works? i need help to set it up with my discord bot. i dont want anyone to do it for me, i just need help to get started

quartz kindle
lost heath
#

iv literally read thru the entire docs 5 times

#

i have no clue what to do

quartz kindle
pale vessel
#

improvised, adapt

quartz kindle
#

empty for loops are fun

#

you can do a lot of stuff using only the loop parameters

#

without any code in the body

green kestrel
#

in your opinions what lib has the best documentation (i mean documentation written by the devs not third party)

#

i want to get some inspirations for ideas from it

quartz kindle
vivid fulcrum
lost heath
#

yes i blody have

vivid fulcrum
lost heath
#

i read thru it all

vivid fulcrum
#

you clearly didnt

lost heath
#

dude

#

i swear. i did

#

i just dont always understand the docs

vivid fulcrum
lost heath
#

not for waht i need

#

there is no page showing how to connect react and mongoDB

pale vessel
#

what why

#

huh

lost heath
#

why what?

vivid fulcrum
#

you don't do that clientside

lost heath
#

see. i obviously dont know waht im doing

pale vessel
#

ye

proven lantern
vivid fulcrum
#

anything that has sensitive data is done in the backend and then the processed data (DTOs) is sent to the client

lost heath
#

i swear to god. if people keep bringing me docs im just gonna pay someone to do it

vivid fulcrum
#

then do so lol

#

nobody can learn for you

lost heath
#

fuck you. i knew this was a waste of time

#

im leaving

#

bye

vivid fulcrum
#

bye

quartz kindle
#

Lol

neat beacon
#

I was just thinking, one time i saw the owner of a bot talking about clusters, "The (number that i forgot) clusters of the bot went down." So if i want to make more clusters on my bot, i just have to make more node.js running index.js?

vivid fulcrum
#

it's more complicated than that but yes, you would need more processes

neat beacon
#

Oh nice

vivid fulcrum
#

hugeee bots also split those clusters to separate servers

neat beacon
#

Not going to be my case lol

#

ty

lyric mountain
#

no need to even open brackets

placid meadow
#

sup kuuh πŸ˜„

lyric mountain
#

you are...?

pale vessel
tulip ledge
#
      }, {
        id: "829785240658378752",
        deny: ['VIEW_CHANNEL'], 
      },{

I have this in my channel.overwritePermissions but it doesn't put it to deny, it puts it to neutral anyone knows why?

slender wagon
#

is it ok to use json as a database for small text config, not for mass usage

vivid fulcrum
#

no

#

there's still a chance your code will attempt a concurrent read/write which obviously you can't do - it leads to corruption

slender wagon
#

max will be like 8 objects

vivid fulcrum
#

use sqlite

slender wagon
#

never used it before

vivid fulcrum
#

quickdb if you're lazy and using node

slender wagon
#

all i know is mongodb

vivid fulcrum
#

quickdb runs on sqlite but it's dumbified

slender wagon
#

oh i get it

solemn elk
#

anyone here uses Flask?

blissful coral
#

Anyone know if imgur provides a api for uploading images?

rose warren
blissful coral
#

I see it

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

earnest phoenix
#

guys help me do someone host his web on 000webhost

earnest phoenix
#

@solemn elk

solemn elk
#

My hosting provider uses Nginx

earnest phoenix
#

hmmm

solemn elk
#

I heard it is possible with Nginx

earnest phoenix
#

yea i think

#

wait

blissful coral
solemn elk
#

Well, do you have a way?

earnest phoenix
#

nginx

#

this isnt old???

solemn elk
#

Nope

#

Maybe

#

But still valid

earnest phoenix
#

wait i think i have a code for you

solemn elk
earnest phoenix
#

from flask import Flask
from threading import Thread

app = Flask('')

@app.route('/')
def main():
return "always alive"

def run():
app.run(host = "0.0.0.0", port=8000)

def keep_alive():
server = Thread(target=run)
server.start()

#

@solemn elk

solemn elk
#

will that make it public?

earnest phoenix
#

?

solemn elk
#

and how do i connect it to my domain?

earnest phoenix
#

wait

solemn elk
#

i want to host it publicly

earnest phoenix
#

oops

#

its for python

earnest phoenix
#

go to freenom

#

pick your html domain name

#

like

#

and pick it

#

after it go to 000webhost

#

host it there

#

in the ftp

solemn elk
#

000webhost? :/

#

why

#

i have a free hosting

earnest phoenix
#

oh

solemn elk
#

and it uses only my domain

earnest phoenix
#

?

blissful coral
earnest phoenix
#

okk

blissful coral
#

nginx or apache tbh

solemn elk
#

nginx

earnest phoenix
#

i also need host

blissful coral
#

nginx in my opinion

solemn elk
#

thats the hosting service i use

#

however, server creation is disabled currently lol

#

nodes are full

earnest phoenix
#

ok

solemn elk
#

i totally did not create 21 servers on the same node

earnest phoenix
#

ok

rose warren
#

000webhost is dodgy af. They had a massive security breach a few years ago where over 13 million accounts got compromised.

#

I had an old test account with them and it was in the breach

earnest phoenix
#

lol

#

so i will not

rose warren
#

With web hosting you get what you pay for.

earnest phoenix
#

lol

earnest phoenix
#

lol

rose warren
#

Which is why you get a really dodgy solution

earnest phoenix
#

lol

#

my web is bad nothing to be afraid of

rose warren
#

Your account data is important though

earnest phoenix
#

oh

rose warren
#

And potentially any user data you might be storing

earnest phoenix
#

lol

rose warren
#

You'd be putting them at risk too

earnest phoenix
#

o

#

k

#

give me smthng to host on

#

@rose warren

rose warren
#

Tbh if I had to make a site for free I'd rather use Wix or smth than host on 000webhost πŸ˜‚

earnest phoenix
#

stop

rose warren
#

And that's coming from someone who's been making websites on a commercial basis for the past 10 years

earnest phoenix
#

i just sayed pls giv eme smthng to host on

rose warren
#

Buy your own hosting

earnest phoenix
#

i dont have money

rose warren
#

You can host on so many other platforms like github, heroku etc. I just wouldn't trust 000webhost with my data if I were you. They've always been kinda shady.

earnest phoenix
#

netifly?

solemn elk
#

spotify x netflix

earnest phoenix
#

lol no

#

a host app

jovial vapor
#

hey! i was just wondering, how would i be able to make a Guild set prefix / custom prefix for my bot, please dm me if you know how (im using discord.js)

rose warren
earnest phoenix
#

no spoon feeding

steep drum
#

High level is store their choice in a database, modify your command handler to check against it

earnest phoenix
# earnest phoenix netifly?

netlify? i think thats for hosting sites and stuff (iirc). and i am unsure about bots without dashboards even, since i have not used it for such...

rose warren
#

What are you using to host your bot @earnest phoenix ? Can't you host a website there too?

earnest phoenix
#

nop i host only a web

#

so you want a site to host (Html/php)? or is it a nodeJS (ejs/pug/handlebars...)

#

if its a static html, theres github pages

rose warren
#

What's the website for?

earnest phoenix
#

i host html,js,css,php

#

okay so you want a website?

#

yea

#

nop

#

yea yea

#

i want a web to host my web

rose warren
#

No hosting's for the website πŸ˜‚ what does your website do?

earnest phoenix
#

oh

#

nothing

#

its just like for fun

rose warren
#

If it's just static pages I'd agree with moonlight and say use github as I mentioned earlier

earnest phoenix
#

i use github and netifly

#

now

rose warren
#

What's wrong with that?

earnest phoenix
#

ill finish code after it ill see if something will goes wrong

earnest phoenix
#

ignore that reply, but not the message^

rose warren
#

Well github > 000webhost anyway πŸ˜‚

earnest phoenix
#

^ And you can get a (not great idea but it helps) .tk, .ga, .ml, or .cf domain free and set it so you dont need <username>.github.io/<repo>

earnest phoenix
earnest phoenix
#

@earnest phoenix

#

@rose warren

#

pls give me lin to sign in to github coz he gives me an impossible enigme

steep drum
#

you said you're using php, you can't use php on github pages

earnest phoenix
#

...

#

ok

#

np

#

i just wanna sign in

#

hooow

#

its gives me impossible enigme

steep drum
#

you're asking how to sign into github? go to github.com and register an account and then sign in

earnest phoenix
#

it gives me an impossible enigme to solve

steep drum
#

i have no idea what you mean by that

#

define this impossible enigma

earnest phoenix
#

...

#

ok

#

it give me some of those cubes who have numbers

vivid fulcrum
#

a captcha?

steep drum
#

and what does it want you to do with those number?

earnest phoenix
#

nvm wait

earnest phoenix
#

total of 5 cubes is 14

#

in 30 secs???

#

with 10 questions

vivid fulcrum
#

what are you on about lol

earnest phoenix
#

?

steep drum
#

i don't know wtf you're talking about, send a screenshot

earnest phoenix
#

nvm

#

ok

#

@steep drum here it is

steep drum
#

i don't know the language but i'm guessing it just wants you to click all the images that have a total value of 14 on the dice

#

which is only the bottom left

earnest phoenix
#

yea

#

and in 30 secs

#

ans d there is ten like then

vivid fulcrum
#

it takes like 5 seconds to do the math in your head per image πŸ’€

#

you're over exaggerating

earnest phoenix
#

5*10

#

50 secs

vivid fulcrum
#

bro there are 6 images

earnest phoenix
#

and ten questions like this

vivid fulcrum
#

also there doesn't seem to be a timer at all

earnest phoenix
#

...

#

it says when i finish not too fast

lyric mountain
#

remember, bots cant solve captchas

earnest phoenix
lyric mountain
#

you sure?

earnest phoenix
#

what im i an animmal or what

earnest phoenix
#

how can i talk

steep drum
#

humans are animals

lyric mountain
#

bots can talk too

earnest phoenix
earnest phoenix
tacit sequoia
#

What do y'all think of loading a database into an object instead of querying the database for every single message thats sent? Is there a more efficient way?

#

Using a key system object_var[guild_id] to get the specific guild of the messages' value. Dont know if thats efficient

steep drum
#

you want to cache all the database data in memory for quicker access?

#

that should be fine as long as your database isn't huge

tacit sequoia
#

Yeah, so for now it just loads servers with server vars into cache. What would you categorize as huge?

steep drum
#

well, that kinds depends on how much RAM you're running

tacit sequoia
#

But I also have a task table which could have potentially have tens of thousands of entries but rn only has around 700

#

16gb on my PC, but hosting is like 2gb

steep drum
#

well, however big your database is, that's how much RAM you'll need to use

#

you'll want to leave some leeway of course, for everything else that needs to run

solemn latch
#

saving every message sent by the bot? πŸ‘€

#

or sent by users?

steep drum
#

it sounds like guild data, maybe guild preferences or something that they're storing

solemn latch
#

Oh i misread πŸ‘€

#

ignore me

steep drum
#

you're probably fine storing several thousand rows of data in memory, as long as those rows aren't huge

vivid fulcrum
sturdy dock
#

how do per-server economy bots manage all that data? assuming they use a DB do they make a new table for each guild?

#

want to do something similar but not economy

vivid fulcrum
vivid fulcrum
steep drum
sturdy dock
#

oh..... right

#

LMAO

#

didn't think of that for some reason 🀦

tacit sequoia
#

Storing messages is a but sus aPES_SuspiciousRead

rose warren
#

Imagine using a db to store info. I use discord channels freerealestate

vivid fulcrum
#

you're required to let your users know what you store and if you apply for verification you have to tell discord what you store

#

buuuuuut most people don't do either

#

can't get caught if no one knows about it

neat beacon
#

Uh well, how do i add cooldowns for commands? pepowot ( js btw )

steep drum
#

Store the time and user ID when they call the command, check it if they try to call the command again later on

neat beacon
#

k thx

steep drum
#

There's an example of it in the tutorial

neat beacon
#

Uh, not shown to me then?

neat beacon
rose warren
#

Use a Discord Collection for cooldowns

steep drum
neat beacon
steep drum
#

You can ask all the questions you want

neat beacon
#

So, how do i kick users in the style of the tutorial thing?

#

By style i mean this text below

#

module.exports = {
name: 'kick',
description: 'Tag a member and kick them (but not really).',
execute(message) {
if (!message.mentions.users.size) {
return message.reply('you need to tag a user in order to kick them!');
}

    const taggedUser = message.mentions.users.first();

    message.channel.send(`You wanted to kick: ${taggedUser.username}`);
},

};

#

but i want it to kick, not to say i wanted to

rose warren
#

That's a good basic starting point but remember to let your users know they have to wait for the cooldown with an error message in the channel, but only make it send once otherwise it defeats the purpose.

neat beacon
#

but how pepowot

#

Sorry if i am being stressful, im just a noob

steep drum
#

That I don't know, I haven't done admin stuff, it should be in the official documentation

neat beacon
#

I tried with the example in the discord.js tutorial but it don't work, just throw me tons of errors

rose warren
#

Learn JS. There are lots of good resources out there.

#

Check the pins for links

neat beacon
steep drum
neat beacon
#

Ah ty

#

it will be easier

#

now i will close discord to open chrome before my pc gives me the blue screen

#

leaves

steep drum
#

... wtf computer you running

rose warren
#

Copy and paste is easier for sure

neat beacon
#

btw i managed to do it, but had to put the command inside of index.js

steep drum
#

That shouldn't be necessary but at least it works

neat beacon
# steep drum That shouldn't be necessary but at least it works

Ok ill just tell you the specs of my pc cause im a bad person >:)

Windows 10, Intel Celeron, 4GB Ram DDR3, Intel HD Graphics 500.

Also other question, how do i make a bot play an audio file? Want it to play a local file. Tried with tutorial but can't make the addons for the code work. If you know how to make the code correctly it would help me a lot

I already managed to do it :>

earnest phoenix
#
(node:3067) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'music' of undefined
#

How to define property of music πŸ™„

sudden geyser
slate oyster
#

I did a rather lousy amount of work today ):

steep drum
stray birch
#

are people allowed to spoonfeed

lone nova
#

Is it so ??

steep drum
stray birch
#

ok

lone nova
#

Is there any problems in discord api ??

If someone know

Because when we use any commands like<prefix>mute @--- then we will not get any error and the command also will not work

This error is with all that command where need to ping like ban kick tempmute connect4 etc

This is with other bots also ???

In my servers it's with some more bots

#

Is it so ???

stray birch
#

```if(message.content === /invites){
var user = message.author;

    message.guild.fetchInvites()
    .then

    (invites =>
        {
            const userInvites = invites.array().filter(o => o.inviter.id === user.id);
            var userInviteCount = 0;
            for(var i=0; i < userInvites.length; i++)
            {
                var invite = userInvites[i];
                userInviteCount += invite['uses'];
            }
                 message.reply(`You have ${userInviteCount} invites!`);
        }
    )
}``` how do i put that in a embed
slender thistle
#

🀷

steep drum
#

oh, ok, didn't know it was an official thing

stray birch
steep drum
stray birch
#

ok

#

how do i fix this ```if(message.content === /invites){
var user = message.author;

    message.guild.fetchInvites()
    .then

    (invites =>
        {
            const userInvites = invites.array().filter(o => o.inviter.id === user.id);
            var userInviteCount = 0;
            for(var i=0; i < userInvites.length; i++)
            {
                var invite = userInvites[i];
                userInviteCount += invite['uses'];
            }
            let Invitesembed = new Discord.MessageEmbed()
        .setTitle(`${message.author.username}`)
        .setThumbnail(member.user.displayAvatarURL())
        .setDescription(`You have ${userInviteCount}`)
        .setColor('#f02016')
        .setTimestamp()
        .setThumbnail(member.user.displayAvatarURL())
        .setFooter(`Member left`)
    channel.send(Invitesembed)
        }
    )
}```
steep drum
#

what's wrong with it?

stray birch
#

theres an error when i use the cmd

earnest phoenix
#

How can I set my bots status on mobile

steep drum
#

what's the error?

stray birch
#

o i see it

#

"member" lmao

earnest phoenix
#

Any bot devs on mobile?

earnest phoenix
#

Ok thanks

crimson vapor
#

you need to edit the ws properties

earnest phoenix
#

in the parΓ©ntesis write this code

#
{ partials: ['MESSAGE', 'CHANNEL', 'REACTION', 'USER', 'GUILD_MEMBER'], ws: { properties: { $browser: "Discord iOS" }}}```
stray birch
crimson vapor
#

partials is unnecessary

earnest phoenix
#

Ok

earnest phoenix
#

Is it a website?

#
const client = new Discord.Client(
{ partials: ['MESSAGE', 'CHANNEL', 'REACTION', 'USER', 'GUILD_MEMBER'], ws: { properties: { $browser: "Discord iOS" }}})```
#

that’s how you make that @earnest phoenix

#

Ok

#

Thanks

#

you’re welcome

earnest phoenix
# stray birch how do i fix this ```if(message.content === `/invites`){ var user = mess...

how do i fix this ```if(message.content === /invites){
var user = message.author;

    message.guild.fetchInvites()
    .then

    (invites =>
        {
            const userInvites = invites.array().filter(o => o.inviter.id === user.id);
            var userInviteCount = 0;
            for(var i=0; i < userInvites.length; i++)
            {
                var invite = userInvites[i];
                userInviteCount += invite['uses'];
            }
            let Invitesembed = new Discord.MessageEmbed()
        .setTitle(`${message.author.username}`)
        .setThumbnail(message.author.displayAvatarURL())
        .setDescription(`You have ${userInviteCount}`)
        .setColor('#f02016')
        .setTimestamp()
        .setThumbnail(message.author.displayAvatarURL())
        .setFooter(`Member left`)
    channel.send(Invitesembed)
        }
    )
}```
blissful coral
#

What is the error?

stray birch
#

it said message.author.username isnt a function ```if(message.content === /invites){
var user = message.author;

    message.guild.fetchInvites()
    .then

    (invites =>
        {
            const userInvites = invites.array().filter(o => o.inviter.id === user.id);
            var userInviteCount = 0;
            for(var i=0; i < userInvites.length; i++)
            {
                var invite = userInvites[i];
                userInviteCount += invite['uses'];
            }
            let Invitesembed = new Discord.MessageEmbed()
        .setTitle(`Invites`)
        .setThumbnail(message.author.displayAvatarURL())
        .setDescription(`${message.author.username}, You have `` ${userInviteCount} `` invites`)
        .setColor('#f02016')
        .setTimestamp()
        .setFooter(`invites`)
    message.channel.send(Invitesembed)
        }
    )
}```
blissful coral
#

Then you are calling it as a function somewhere

stray birch
#

ok

earnest phoenix
#

My phone won’t support it. Doesn’t matter tho

blissful coral
#

What?

earnest phoenix
#

Sorry, scroll up

stray birch
steep drum
#

the stack trace should tell you what line number it errored on

blissful coral
#

It should give you a line number

#

Check there

stray birch
#

ok

#

i found the problem

blissful coral
#

Wherever you do <message>.author.username()

earnest phoenix
#

it said message.author.username isnt a function ```if(message.content === /invites){
var user = message.author;

    message.guild.fetchInvites()
    .then

    (invites =>
        {
            const userInvites = invites.array().filter(o => o.inviter.id === user.id);
            var userInviteCount = 0;
            for(var i=0; i < userInvites.length; i++)
            {
                var invite = userInvites[i];
                userInviteCount += invite['uses'];
            }
            let Invitesembed = new Discord.MessageEmbed()
        .setTitle(`Invites`)
        .setThumbnail(message.author.displayAvatarURL())
        .setDescription(`${message.author.username}, You have \`${userInviteCount}\` invites`)
        .setColor('#f02016')
        .setTimestamp()
        .setFooter(`invites`)
    message.channel.send(Invitesembed)
        }
    )
}```
#

try with that @stray birch

stray birch
#

ok

blissful coral
#

Do not spoonfeed @earnest phoenix

earnest phoenix
#

what?

#

ok

stray birch
#

i just didnt know how to put the ``

blissful coral
#

Don't spoonfeed code

earnest phoenix
#

use

#

`

#

lol

stray birch
#

ok

earnest phoenix
#

the slash

blissful coral
#

?>

earnest phoenix
#

and then that

stray birch
#

kk

#

`\

#

lol

blissful coral
#
\`
earnest phoenix
#

yeah

stray birch
#

/`

#

`

blissful coral
#

No no

crimson vapor
#

hi Extreme

blissful coral
#

\ not /

earnest phoenix
#

hahahaa

blissful coral
#

Hi nom is short

stray birch
#

ok

crimson vapor
#

hi

blissful coral
#

You are short

stray birch
#

```````

#

oops

crimson vapor
#

idk if I am

earnest phoenix
#
\`hello world\`
#

like this

#

if it is inside of this ``

#

How do y’all keep your bots online. (I don’t need help. Just wondering)

blissful coral
#

Servers

#

ℒ️

earnest phoenix
#

Just got a working economy on my bot in the first time in a year

pale vessel
#

Congrats

supple moon
#

Does anyone know how I can open files with "mv.db" extension?

sudden geyser
#

The db file likely has its own format inside the file. So you probably need to know the kind of database you're using (probably SQLite)

earnest phoenix
#

Does anyone know how to safe search esp for search commands

proven lantern
#

is there a plan to stop supporting <@!ID> for user mentions in the future?

#

and is there any difference between mentioning someone with <@!ID> and <@ID>?

pale vessel
#

The opposite

#

<@> is being deprecated

#

but it's still available on mobile clients

#

<@!> used to be for member with nickname but now they use it for all user mentions

proven lantern
#

does discord document this somewhere?

median iris
#

how to add filters in a bot ?

near stratus
sudden geyser
earnest phoenix
#

Like for YouTube search command Google search command

median iris
#
    at Object.i18nSetLocale [as setLocale] (/home/runner/evobot/node_modules/i18n/i18n.js:491:25)
    at Object.<anonymous> (/home/runner/evobot/commands/clip.js:3:6)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/runner/evobot/index.js:60:19)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! evobot@0.10.0 start: `node index.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the evobot@0.10.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/runner/.npm/_logs/2021-04-10T06_14_35_592Z-debug.log```
#

what does it mean

#

wt the error

#

my brain exploded

copper cradle
#

show the rest of the error

sudden geyser