#development

1 messages · Page 1895 of 1

wheat mesa
#

Embeds seem to work perfectly fine for me

boreal iron
#

Lemme check myself

solemn latch
#

often those issues are per guild

earnest phoenix
#

should i try adding it to a new gguild?

#

or trying a different one?

wheat mesa
#

Yeah

earnest phoenix
#

alright hold on

proper widget
#

embed works fine for me

boreal iron
#

Hmm works fine for me, too

earnest phoenix
#

added it to a brand new guild, same issue

boreal iron
#

Even if it’s a guild issue the API shouldn’t respond with a empty message error

#

Weird

earnest phoenix
#

I am so very confused right now

solemn latch
#

did you update djs recently?
maybe one of the non stable versions had a bug

earnest phoenix
#

ago*

#

Maybe try reverting? not sure how though, im on ubuntu 20.04

#

i installed djs via npm

solemn latch
#

tbh, next thing I would do since so many of us have looked at it now is open a github issue.

proper widget
#

uninstall discord js

#

using npm

boreal iron
#

I wonder why it’s responding with that other message you showed in your screenshot

earnest phoenix
#

yea

boreal iron
#

But not with an embed

earnest phoenix
#

this is interesting

boreal iron
#

A last test before reinstalling it

proper widget
#

then change the version in your package.json

boreal iron
#

Just try to send content only

proper widget
#

then npm install

earnest phoenix
#

shoot

boreal iron
#

message.reply({ content: "some text" });

scarlet whale
#

Pls help me

boreal iron
#

Ah damn

proper widget
scarlet whale
#

When I do vote for pls vote on dank member the ad keeps glitching and resetting making the ad restart and loops it

earnest phoenix
proper widget
#

dank memer you mean?

scarlet whale
#

Yes

#

Auto correct

#

Also when I upvote it gives me nothing

proper widget
#

ask the dankmemer devs

#

ask in their discord

boreal iron
scarlet whale
#

Ok

boreal iron
#

Topgg site is just, a huge bug

earnest phoenix
solemn latch
#

😔 soon itll be better

earnest phoenix
#

lol

proper widget
#

lol

#

try using 13.1.0

earnest phoenix
#

ight

proper widget
#

it's what im currently using

earnest phoenix
proper widget
#

"discord.js": "^13.1.0",

#

"@discordjs/opus": "^0.6.0",

earnest phoenix
#

huh

#

oh ok

#

hold on

boreal iron
# solemn latch 😔 soon itll be better

Well the rework has brought so much issues with it even simple things I can only slam my head on the keyboard like not forcing my css content to a max width of 100%
Which ends up in a fucked to site, since I set my iFrame width to 700px
Just a simple .content * { max width } would fix that but no

solemn latch
#

I wonder what other bots have done for that 🤔

earnest phoenix
solemn latch
#

and now are properly on it

earnest phoenix
#

i am now CONFUSED!

#

LD

#

:D*

boreal iron
#

The way they try to mutate to usable mobile version is just, well I wouldn’t do it that way, but hmm

earnest phoenix
#

so

#

what do i do

#

lmao

proper widget
boreal iron
#

I feel like you weren’t on v13 before

earnest phoenix
#

I was not

#

i was just upgrading lol

proper widget
#

no wonder why it wasn't working

solemn latch
#

yeah, us telling you v13 code(thinking you are on v13) wont work on v12

boreal iron
#

Why did u use that syntax then?

#

That’s for v13 not 12

earnest phoenix
#

Im trying to update my code

boreal iron
#

That can’t work on v12

proper widget
#

You should have updated discord.js first

boreal iron
#

Yeah but if you’re trying to run your updated script BEFORE updating to v13 it can’t work

#

lol

earnest phoenix
#

it must have not updated correctly then

#

because

#

maybe im just stupid

boreal iron
#

Guess you missed the update?!

proper widget
#

discord.js docs shows a way to update

boreal iron
#

Well at least we figured it out oldEyes

#

Finally I can sleep

proper widget
#

lol

solemn latch
#

Actually opus can't be used on 13 can it

proper widget
#

im using opus for my bot so it can

earnest phoenix
#

what does this mean

proper widget
#

he needs to download the voice package though

earnest phoenix
#

I already did that

proper widget
#

you entered a wrong bitfield flag

earnest phoenix
#

hm

#

i shouldve just stayed with 12 lmao

proper widget
#

what intents did you add?

earnest phoenix
#

server precense

#

presence*

proper widget
#

how'd you type it?

solemn latch
#

12 will lose support in like 7 months iirc.
You'll need to use and learn 13 anyway.

earnest phoenix
#

Intents.SERVER_PRESENCE

proper widget
#

Intents.Flags

earnest phoenix
#

uh

proper widget
#

correction: its actually .FLAGS

earnest phoenix
#

ok then

#

damnit

#

i should really sleep

#

sorry for wasting your time lol

proper widget
#

no worries lol

#

I suggest you read the upgradung to djs 13 guide

quartz kindle
#

just get rid of djs altogether :^)

#

best upgrade

quartz widget
#

Why am i getting this error

proven lantern
#

If i want to pass in a redirect path for oauth do i need to save it in a db so i can look it up later when i get the callback, or is there some other way

quartz widget
proven lantern
#

it's a happy teddy bear

quartz widget
rancid kite
#

Anyone know how to make js bot "online only" on repl

plain talon
#

What does that even mean

rancid kite
#

I want to make bot "online only"

#

I need coding few lines for making bot online

plain talon
#

What does ‘online only’ mean

rancid kite
#

@plain talon do you knowhow to make js bot "online only" on repl

rose warren
#

Like "not offline"?

rancid kite
rose warren
rancid kite
plain talon
#

Lmao

#

Run the discord js example

#

And you’re done

rancid kite
#

Yes i need

#

Example

plain talon
#

Google is your friend

rose warren
#

You can find helpful resources in the pins here

rancid kite
#

But i dont know when i search on google

rancid kite
#

😵‍💫

plain talon
#

Oh come on there’s only a maximum of 50 I’m sure you can find what you need

rancid kite
plain talon
#

If you can’t help yourself then why do you expect us to help you

rose warren
rancid kite
#

-

onyx torrent
#

const myChart = new QuickChart();
myChart.setConfig({
  type: 'bar',
  data: { labels: ['Hello world', 'Foo bar'], datasets: [{ label: 'Foo', data: [1, 2] }] },
});```

I use resultsArr[][] for results.
[0][0] and [0][1] matches in case of tie
In all other case [0][0] is the winner

I want to use my data to create charts displaying how many user has voted for each.

How can I fit my data in the above format?
quartz widget
#

Uh

nova basin
#

Hello, can you help me please, I don't see the numbers.

sinful night
#

hi

#

how to get library developer roles @rose warren

rose warren
livid jackalBOT
#

@nova basin

Hey! We think you have our server mistaken. We do not provide support, help, or advice for any bot. You need to click on the "Discord" button on the bot's page of the bot you need support for, not the "Join Discord" button at the top of our website. If there isn't a button that says "Discord" or nothing else mentioned about a support server, the server invite is invalid or you were banned from the bot's support server, then we can't help you. Sorry :(

rose warren
rose warren
#

You need to develop a library for the Top.gg API

rose warren
#

For a language that isn't already supported

sinful night
#

so how can i contribute?

rose warren
cinder patio
nova basin
sinful night
rose warren
rose warren
nova basin
outer perch
#

what's the RegEx for 7 \w?

#

I know I have \w+ but I want to count exactly 7

rustic nova
#

Theme color is wrong, check the og metadata stuff

earnest phoenix
#

did you even read the error

split hazel
#

are you doing a little trolling

earnest phoenix
#

preact auto binds the value of this in arrow functions?

earnest phoenix
split hazel
#

also any way to find the twitch torrent leak

#

they say its public but I can't find shit lmao

#

just wanna have a peak

earnest phoenix
#

google can't search bittorrent's network

split hazel
#

I know but you'd expect among the huge amount of pages of journalism you'd expect to find a link

#

with very catchy titles "here's all you need to know" (not)

earnest phoenix
#

they would get sued for leaking

split hazel
#

true

#

any tips?

#

do I go to the land of pedophiles (dark web) and search there or something

earnest phoenix
#

well fuck

split hazel
#

4chan has no hecking search bar

#

though it was probably removed from there too

earnest phoenix
#

twitch really encrypted the passwords instead of hashing

#

guess where they stored the private keys

quartz kindle
#

@split hazel```magnet:?xt=urn:btih:N5BLZ6XECNEHHARHJOVQAS4W7TWRXCSI&dn=twitch-leaks-part-one&tr=udp%3A%2F%2Fopen.stealth.si%3A80%2Fannounce

earnest phoenix
earnest phoenix
#

satisfy me by tipping some bittorrent tokens mmulu

quartz kindle
#

????

earnest phoenix
#

can confirm it's correct

earnest phoenix
quartz kindle
#

against everything

#

even kids

earnest phoenix
#

what are these guys doing

quartz kindle
#

and jojo

split hazel
#

php?

#

i haven't checked it out yet

quartz kindle
#

pokimane made 38k during the month of september only

earnest phoenix
#

there's only one tracker for the torrent

#

ovh better take down that site

quartz kindle
#

tyler1 made 2+ million on twitch

earnest phoenix
#

tell me that's not an actual tld

split hazel
quartz kindle
#

she made 1.5 million overall

#

xQcOW made 8 million

earnest phoenix
#

tim why are you checking twitch source code

quartz kindle
#

im not

#

just checking out the summary from sizeof.cat

#

lmfao

#

basically you can see what people torrented in those "unmanaged devices"

#

includes games, movies and porn

#

those are supposed to be whitelisted ips that can access twitch dbs or something

earnest phoenix
quartz kindle
#

not for me?

earnest phoenix
#

LIKES WHAT

quartz kindle
#

lol

flat copper
#
module.exports = {
  name: "rr-add",
  aliases: [],
  group: "roles",
  description: "add a role into the category. ",
  clientPermissions: ["SEND_MESSAGES", 
"EMBED_LINKS"],
  memberPermissions: ["MANAGE_ROLES" || "MANAGE_SERVER"],
  examples: ["rr-add {category} {@role} {name} {emoji}" || "rr-add pings, @chat-ping, chat-revive, @ping"],
  cooldown: {
    time: 5000,
    message: ""
  },
  nsfw: false,
  run: async(client, message, args, data) => {
    try {
      let arg = args.join(" ").split(",")

      let category = `${arg[0]}` 

      let role = message.guild.roles.cache.get((arg[1].match(/\d{17,19}/)||[])[0]) ||
      message.guild.roles.cache.find(r => r.name === role);


      let name = `${arg[2]}`

      let emoji = `${arg[3]}`

      if(!category || !data.roles.map(c => c).find(c => c.category === category)) return message.error("Invalid Format\nExample: rr-add pings, @ping, chat-revive, emoji.");

      if(!role) return message.error("Invalid Format\nExample: rr-add pings, @ping, chat-revive, emoji");

      if(!name) return message.error("Invalid Format\nExample: rr-add pings, @ping, chat-revive, emoji");

      if(!emoji || !emoji.startsWith("<") && !emoji.endsWith(">") && !emoji.includes(":") || !client.emojis.cache.get(emoji)) {
        emoji = null
      }
        
     let arr = data.roles.find(c => c.category === category)

      console.log(arr);

arr.roles = arr.roles.push("YOOOOOO")     

      data.save()
 
      message.success(`Role added with name: ${name} to ${category}`)
      
    } catch (e) {
      message.error("Something went  wrong ;)..\nError: " + e.message)
      console.log(e)
    }
  }
}```
#

its saving data to array

#

and db too

lyric mountain
#

you again with that

woeful pike
# quartz kindle

For some reason all internal Twitch developers use justin.tv emails.
Isn't this because twitch devs don't see themselves as part of amazon or something

#

I remember reading something about that the other day

quartz kindle
#

who knows

#

i didnt even know amazon bought twitch until now

round cove
#

i guess twitchbros decided to do their own thing, so none of the stuff in the amazon source control got leaked
apparently they were pushing back on migrating their code over, so now we're here

woeful pike
#

that sucks, tho I can totally understand not wanting to hand over the thing you've worked on for so long to amazon corporate overlords even if you've already "handed it over" on paper

round cove
#

Yeah.

#

They hardcoded so many slack related secrets and tokens everywhere. Their infosec and It must be having a hayday trying to regen everything.

woeful pike
#

guess some heads will roll now

round cove
#

Yeah

woeful pike
#

and probably won't be the infosec people idktbhprollyanod

round cove
#

I'm guessing some idiot opened malware email and got compromised.

solemn latch
#

Imagine being that person.

round cove
#

I wouldn't want to

solemn latch
#

not having a good week

woeful pike
#

spearphishing is so difficult to deal with like how do you even stop that. Every single person is an attack vector

round cove
#

I'm excited for the reddit hack.

round cove
#

Coincidentally a couple frined of mine both work for one of the largest security company for the country. Twitch could just spend money now trying to train everyone.

#

Not sure how else you make sure oyur weakest link doesn';t hand over every repo you have.

outer perch
#

why does the CEO prefer NULL == variable rather than variable == NULL?

round cove
#

It's crazy

cinder patio
#

because they are a monster

outer perch
#

he didn't explain why I should do that for conditions

woeful pike
outer perch
#

😮

woeful pike
#
if (variable = null)

is a bug that goes unnoticed

if (null = variable)

is a runtime error

#

or a compile time error depending on the language you're using

outer perch
#

hmm

#

so it's to avoid problems when forgetting an =?

woeful pike
#

yeah

outer perch
#

aight, seems reasonable

woeful pike
#

it breaks my brain to think that way so I don't use it but that's the usecase for it

outer perch
#

exatcly

#

you want to think if that var is null

#

not if null is that var xD

woeful pike
#

I mean that's what equality means, it's commutative

outer perch
#

yeah

#

same with addition and multiplication

scarlet cliff
#

npm i some-very-popular-package
mfw pic related

#

npm audit fix
its the same

#

i love npm

woeful pike
#

it's not an npm problem it's a maintenance problem

scarlet cliff
#

i know

split hazel
#

how to get free critical vulnerability for your npm package:

function toInt(str) {
  const result = eval(str);
  return result;
}```
quartz kindle
#

very popular package doesnt mean its good or even updated

#

honestly many packages are utter garbage, but are popular just because they were the one of the first at doing what they do

#

and just became the norm

earnest phoenix
#

is there a way to make this less?

#
 else if(checks === true || checks2 === true || checks3 === true || checks4 === true || checks5 === true || checks6 === true || checks === true && checks2 === true || checks === true && checks3 === true || checks === true && checks4 === true || checks === true && checks5 === true || checks === true && checks6 === true || checks2 === true && checks3 === true || checks2 === true && checks4 === true || checks2 === true && checks5 === true || checks2 === true && checks6 === true || checks3 === true && checks4 === true || checks3 === true && checks5 === true || checks3 === true && checks6 === true || checks4 === true && checks5 === true || checks4 === true && checks6 === true || checks5 === true && checks6 === true){
#

all possible combinations

#

and will this work btw

quartz kindle
#

jesus christ

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

solemn latch
#

I'm not even sure what I am looking at,
do you just want to check if all are true, or is there a pattern im not seeing

sage bobcat
#

One message removed from a suspended account.

solemn latch
#

if any two are true?

sage bobcat
#

One message removed from a suspended account.

quartz kindle
#

i dont get it either

scarlet cliff
#

im dead

earnest phoenix
#

nah it's ok

#

i'll see if works

quartz kindle
#

just explain what you want to do

#

there are billions of ways to improve that code

#

but we didnt understand what its supposed to do

#

do you want to check if any two are true?

earnest phoenix
#

it's like it'll check that is one thing is true of 6 things and so it can be true more than 1 thing so i combined them

quartz kindle
#

there are a lot of different ways you can do that

earnest phoenix
#

how

#

i just wanted to do it fast so made that

quartz kindle
#

for example if([check, check1, check2, check3, check4, check5, check6].filter(Boolean).length >= 2) {}

earnest phoenix
#

:0

quartz kindle
#

that checks if two or more items are true

solemn latch
#

heck, thats what I was thinking

earnest phoenix
#

that's more cleaner

#

i'll check that

scarlet cliff
#

oh my fuck are you actually kidding me

#

now npm isnt working

#

im tryna get some work done

#

but looks like im not allowed to

earnest phoenix
#

and where

Boolean

#

it's true, right?

quartz kindle
#

filter() expects a function that returns true or false
filter(Boolean) is a shortcut for filter(item => Boolean(item))
Boolean() returns true for anything that is "truthy", such as non-zero numbers, non-empty strings, arrays, objects, etc... and false for anything that is "falsey", such as undefined, null, 0, empty string, etc...
if you want a filter that returns the falsey values instead, you can invert the filter function: filter(item => !Boolean(item))

earnest phoenix
#

so here i have to do it one by one

quartz kindle
#

its not one by one

earnest phoenix
#

so?

quartz kindle
#

so what?

earnest phoenix
#

filter(item => !Boolean(item))

it's filtering one thing (?)

quartz kindle
#

what do you want to do?

earnest phoenix
#

i want to get multiple false/null things

#

if it's available

quartz kindle
#

thats what filter does

earnest phoenix
#

oh

#

ok

#

i'll try it

royal portal
#

anyone know how to stop express from adding a slash to the end of the URL when going to a directory?!?!1

this is what it currently does
/images => /images
/images/ => /images/
/images => /images/

i want it to be like
/images => /images
/images/ => /images/
/images => /images

i tried these

app.enable("strict routing");
const router = express.Router({ strict: true });
app.use(router);

nothing worked so far cryangeryBOYE

earnest phoenix
lyric mountain
royal portal
lyric mountain
#

like, if it doesnt end in slash then it's supposed to be a file

royal portal
#

would be better if it was possible

lyric mountain
#

I mean, I'm talking about internet-level

#

not express specifically

humble wind
#

I want to make a command in JavaScript but I have no idea how I'd do it, I want a command that will nuke a channel (deleting everything in the channel but leaving the channel) any ideas how I might do that?

#

Please ping me if you can help

royal portal
#

its against tos

grim aspen
#

that is against tos

humble wind
#

it is?

#

discord tos??

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

humble wind
#

oh, never mind then lol

sage bobcat
#

One message removed from a suspended account.

humble wind
#

ill just keep deleting and remaking channels after raids then

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

humble wind
#

we have verification but that doesnt stop all raids

sage bobcat
#

One message removed from a suspended account.

humble wind
#

yeah

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

humble wind
#

oh, ig ill get a better way to do that then .-.

sage bobcat
#

One message removed from a suspended account.

humble wind
#

yeah, ik that

sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

signal estuary
sage bobcat
#

One message removed from a suspended account.

signal estuary
sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

signal estuary
sage bobcat
#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

#

One message removed from a suspended account.

lyric mountain
#

pastebin is sus

lament rock
#

When the website to paste your shitty code is sus

sage bobcat
#

One message removed from a suspended account.

lament rock
#

does anyone know any good ts doc gen or a theme that's better than the default theme for typedoc

cinder patio
earnest phoenix
#

How do i edit slash command options in code

proven lantern
lament rock
solemn latch
#

if someone asks its not really an ad

earnest phoenix
# proven lantern Make an API call to get the commands for your bot. Then find the command that yo...
const Discord = require('discord.js');
const db = require('../../database');

module.exports = {
    "name": "blep",
    "type": 1,
    "description": "Send a random adorable animal photo",
    "options": [
        {
            "name": "options",
            "description": "What you wanna do",
            "type": 3,
            "required": true,
            "choices": [
                {
                    "name": "Set",
                    "value": "set"
                },
                {
                    "name": "Reset",
                    "value": "reset"
                }
            ]
        },
        {
            "name": "role",
            "description": "Choose a role",
            "type": 8,
            "required": true
        },
    ],
    async run(client, i, lang, options) {
      
      let role = i.options.getRole('role');
      let choice = i.options.getString('options');
      
      let embed = new Discord.MessageEmbed()
      .setColor(client.color.red)
      .setTimestamp()
      
      if(choice === "set") {
        embed.setDescription(`${choice} | ${role}`)
      }
      if(choice === "reset") {
        embed.setDescription(`${choice} | ${role}`)
      }
      
          return i.reply({
            embeds: [embed]
          })
          
    },
};

I want if user choose reset role option required = false

proven lantern
earnest phoenix
#

Hmm then i make it false
And
if(set) {
if(!role) error
}

earnest phoenix
# quartz kindle

in my case it will be ```js
[check, check2, check3, etc..].filter(item => !Boolean(item))

quartz kindle
#

if you want a list of falses/nulls/etc, yes

earnest phoenix
#

and how do i use the list?

quartz kindle
#

how do you want to use it?

earnest phoenix
#

like if 1 or more things are false, it'll send a new embed with new things

#

like a else if

quartz kindle
#

so you just want to check how many are false?

earnest phoenix
#

yes

quartz kindle
#

same as before

#

.length > 0

earnest phoenix
#

oh

#

k

#
if([check, check1, check2, check3, check4, check5, check6].filter(!Boolean).length >= 2) {
```? or without !
quartz kindle
#

no

earnest phoenix
#

how

quartz kindle
#

wdym how

earnest phoenix
#
[check, check2, check3, etc..].filter(item => !Boolean(item).length > 0) //?
cinder patio
quartz kindle
earnest phoenix
#
[check, check2, check3, etc..].filter(item => !Boolean(item))
quartz kindle
#

yes

earnest phoenix
#

ok

quartz kindle
#

now add .length

earnest phoenix
quartz kindle
#

yes?

earnest phoenix
#
[check, check2, check3, etc..].filter(item => !Boolean(item)).length > 0
quartz kindle
#

yes

earnest phoenix
#

and?

quartz kindle
#

and what

earnest phoenix
#

how to use it like i said before

quartz kindle
#

literally just put it in an if???

#

think a little

#

jesus

earnest phoenix
#

oh

#
if([check, check2, check3, etc..].filter(item => !Boolean(item)).length > 0)
quartz kindle
#

yes

earnest phoenix
#

thx

earnest phoenix
#

without the .length > 0?

quartz kindle
#

add where

earnest phoenix
#

add to the db

#

like if there are 2 things, one is true and other is false, the true will be out and the false will be added to the db to make it true

#

but in my case, i want to have the true too, to add xp to the true and add false like new

quartz kindle
#

thats a completely different thing, it has nothing to do with the code you showed

#

you need to show more code

earnest phoenix
signal estuary
#

I want to send a message when the time runs out in the collector:

const MsgCollector = inter.channel.createMessageCollector({
     time: 10000, errors: ['time']
})
MsgCollector.on('error', async (i) => { console.log("out of time") })

This isnt working btw but I would like to know how this works

quartz kindle
#

you dont need to fetch stuff before doing anything else on it

#

you're not doing anything that need fetching there

earnest phoenix
quartz kindle
#

no?

#

what made you think you did?

earnest phoenix
#

ok

#

i thinked that fetching it, it gets the data and without fetching it's hard for the db to work

quartz kindle
#

fetching it gets the data, but you're not using the data for anything

#

you only fetch when you use it

#

like put it in a variable

earnest phoenix
#

ok

quartz kindle
#

otherwise the databse is doing work for nothing

earnest phoenix
#

ok

lyric mountain
quartz kindle
#

also, this is wrong

#

set requires 2 parameters

#

youre not setting anything

earnest phoenix
#

yeah

#

it's not done

#

yet

quartz kindle
earnest phoenix
#

the 2nd param is true (because it's supposed to be all false/null)

solemn latch
#

if(!channel) return;

lyric mountain
#

btw u can use `` for multiline strings so u don't need to use \n

#
`
Some
text
duh
`

is the same as

'Some\ntext\nduh'
earnest phoenix
#

And use buttons instead embed links bc if someone invite your bot without this perm you will get error

#

Idk if button links need perms btw

earnest phoenix
quartz kindle
#

i still dont understand which part is supposed to be the one that sets the falses to trues

#

but anyway, i have to go now, so good luck

earnest phoenix
#

ok

#

Is there intent calculator ?

#

Like perm calculator

lyric mountain
#

what would be an intent calculator?

lament rock
#

If you need the int of intents you need, just use actual code

lyric mountain
#

dont all libs include enums of all intents/permissions?

lament rock
#

(1 << 0) | (1 << 3) = 9

modest maple
#

ladies and gents i give you maths

#

👏 Welcome to bitwise ops

proven lantern
#

is there someway to pass a parameter to oauth so that discord calls my oauth endpoint with the parameter?

#

i dont want to register an oauth endpoint for every oauth action

#

this endpoint gives this error {"error":"invalid_request","error_description":"Invalid \"redirect_uri\" in request."}

drifting fractal
#

Hello, I have this code, and I want to make it so takes the username of the user who executed the command. Anyone can help me?

#

It is Python btw

scarlet cliff
#

what the fuck just happened today

0 vulnerabilities
install a very popular and clean package
150 vulnerabilities
wtf.tsx
npm audit fix
160 vulnerabilities
what
npm rm package-that-i-installed
160 vulnerabilities
?????????????????????????

drifting fractal
#

Could someone help me please

scarlet cliff
proven lantern
#

installing the package changed your package-lock.json. then you uninstalled the package, but package-lock.json is still changed

drifting fractal
#

Are you taking to me?

#

Hello, I have this code, and I want to make it so takes the username of the user who executed the command. Anyone can help me?

earnest phoenix
#

can you stop spamming

drifting fractal
#

Sorry for the doubles capture, is just to make sure you understaned what i meant

earnest phoenix
#

someone will respond to you

drifting fractal
drifting fractal
earnest phoenix
# lyric mountain what would be an intent calculator?
Intents = Discord.Intents.FLAGS.GUILDS,
                                              Discord.Intents.FLAGS.GUILD_MEMBERS,
                                              Discord.Intents.FLAGS.GUILD_BANS,
                                              Discord.Intents.FLAGS.GUILD_EMOJIS_AND_STICKERS,
                                              Discord.Intents.FLAGS.GUILD_INTEGRATIONS,
                                              Discord.Intents.FLAGS.GUILD_WEBHOOKS,
                                              Discord.Intents.FLAGS.GUILD_INVITES,
                                              Discord.Intents.FLAGS.GUILD_VOICE_STATES,
                                              Discord.Intents.FLAGS.GUILD_PRESENCES,
                                              Discord.Intents.FLAGS.GUILD_MESSAGES,
                                              Discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS,
                                              Discord.Intents.FLAGS.GUILD_MESSAGE_TYPING

I wanna use

Intents = 21939202(a number include all intents)
earnest phoenix
lyric mountain
#

just do enum | enum | enum

#

if those are integers I mean

proven lantern
#

cant you do something like (Intents & Discord.Intents.FLAGS.GUILD_BANS) === Discord.Intents.FLAGS.GUILD_BANS

#

i suck at bitwise btw

earnest phoenix
#

I wanna use bitwise

#

Its more usefull for this

proven lantern
#

that is bitwise

drifting fractal
#

Hello, I have this code, and I want to make it so takes the username of the user who executed the command. Anyone can help me?

wheat mesa
#

You’ve asked that question several times

#

You need to do author = message.author because msg is a string that you defined as message.content

drifting fractal
#

Ok thanks!

lyric mountain
#

so like, imagine theyre 1 and 2 respectively, doing that would return 3

#

bcuz 1 = 1 and 2 = 10 so 1 | 2 = 1 | 10 = 11 = 3

earnest phoenix
#

Isnt there a number include all?

proven lantern
#

1 = 0001
2 = 0010
3= 0011

lyric mountain
#

you can omit left zeroes

proven lantern
#

0001
0010

0011

#

just making it clear that the numbers are binary based

lyric mountain
#

just save as a constant somewhere

#
const ALL_INTENTS = Discord.Intents.FLAGS.GUILDS
            | Discord.Intents.FLAGS.GUILD_MEMBERS
            | Discord.Intents.FLAGS.GUILD_BANS
            | Discord.Intents.FLAGS.GUILD_EMOJIS_AND_STICKERS
            | Discord.Intents.FLAGS.GUILD_INTEGRATIONS
            | Discord.Intents.FLAGS.GUILD_WEBHOOKS
            | Discord.Intents.FLAGS.GUILD_INVITES
            | Discord.Intents.FLAGS.GUILD_VOICE_STATES
            | Discord.Intents.FLAGS.GUILD_PRESENCES
            | Discord.Intents.FLAGS.GUILD_MESSAGES
            | Discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS
            | Discord.Intents.FLAGS.GUILD_MESSAGE_TYPING;
lyric mountain
#

that's for checking an specific intent

proven lantern
#

should it do a >= check?

lyric mountain
#

no

#

if u do 1 & 3 ur actually checking if the very first bit is set to true

#

& is bitwise AND

#

so, if 1 AND 11

proven lantern
#

so if you have that permission and more you might have a higher value

lyric mountain
#

which is true

proven lantern
#

so >=

#

?

lyric mountain
#

using such operators is ill-advised for bitwise stuff

#

but sure, u can

#

just remember flags AREN'T in decimal, they're sequences of bits

humble wind
#

can someone help me get a placeholder in a status to update more often than just on restarts?

lyric mountain
#
  • if js
proven lantern
#

and flags with higher binary values doesnt mean they have all the permissions of the lower value flags

lyric mountain
#

ye

#

for example

#

4 would fail your expectation

#

bcuz it wouldn't contain 1, 2 and 3

#

it'd be a lone permission

proven lantern
#

and 4 might not have the permissions that 1 and 2 have

lyric mountain
#

ye

proven lantern
#

so the >= wont work either

#

dang

lyric mountain
#

4 would be 100

#

so third bit ON, second and first OFF

proven lantern
#

100 &
(001 |
010 |
011 )

000

lyric mountain
#

111

#

or 7

proven lantern
#

edited

humble wind
#

im using that, this is what i have
``` const statusArray = [${client.guilds.cache.size} servers, WATCHING, 'some YouTube, WATCHING', 'some Spotify, LISTENING' ];

setInterval(() => {
  client.user.setStatus('online');
  const random = statusArray[Math.floor(Math.random() * statusArray.length)].split(', ')
  const status = random[0];
  const mode = random[1];
  client.user.setActivity(status, { type: mode })

}, 10000)```
scarlet cliff
proven lantern
lyric mountain
#

u shouldn't also do bit & bit & bit & mask

#

u should do (bit | bit | bit) & mask

#

else one will nullify the other

proven lantern
#

updated again'

lyric mountain
#
100 &
(
001 |
010 |
011
)
----
0/false
proven lantern
#

it's crazy that bitwise math can actually do useful things

#

moving bits around and stuff

lyric mountain
#

this is what ur checking for

#

so: Is third bit set to 1 in any of the values below? R: no

proven lantern
#

0

lyric mountain
#

bitwise is fun once u understand how it works

#

most people get confused with it bcuz they're looking at decimal values

#

where converting to binary would be easier

#

intellij:

proven lantern
#

that's why i was putting those extra 0s in

#

makes people think in binary

#

this is the extent of bitwise in my project

lyric mountain
#

I meant the one below btw

#

handling flags in Hex is hell

proven lantern
lyric mountain
#

perfect

earnest phoenix
lyric mountain
proven lantern
woeful pike
#

that wasn't a yes or no question ASmeguFace

proven lantern
#

yeah

#

i see now

#

look at that

#

oof

#

no thanks

lyric mountain
#

lul

proven lantern
#

i'll stick with ascii 🇺🇸

#

americans make the best standards

lyric mountain
#

except for fireinthenight

proven lantern
#

@solemn latch

#

^

static trench
static trench
#

thanks

proven lantern
#

is there a way to do this without having different endpoints? i want to have one endpoint that can do different actions based on parameter

#

this is what im doing now, but i still need to register each endpoint with discord

spark flint
#

woo but embed

proven lantern
#

discord was not happy with it

solemn latch
#

weird

lament rock
#

can't you inspect the payload to determine where it's supposed to go

proven lantern
#

the process is like this. localhost:3000/claim-points -click link-> https://discord.com/api/oauth2/authorize -redirect-> localhost:3000/api/auth/discrod/claim-points

lament rock
#

discrod

proven lantern
#

i can spell

#

but that's the idea

solemn latch
proven lantern
#

sometimes i can spell correctly1

lament rock
#

You can still check auth process based on code

#

and then send accordingly

proven lantern
#

i never get the code until discord sends it to localhost:3000/api/auth/discrod/claim-points

lament rock
#

Ok. So if you can authorize that Discord is sending that payload, then you know where to send

proven lantern
#

i want to have one routing endpoint instead of different endpoints for each action

#

like this type of endpoint localhost:3000/api/auth/discrod/action-router

lament rock
#

ah now I see

proven lantern
#

if your oauth access_token expires can you use the refresh_token to get a new token or does that expire too?

lament rock
#

It shouldn't expire unless you use it

#

Or it may expire after the user's token resets if 2fa

proven lantern
#

mmkay

#

is it a security risk to return the access_token and refresh_token in the querystring? should i make a server set cookie and encrypt the values instead

#

i dont want to use cookie

#

maybe i can put those values in the querystring and then do a url rewrite as soon as the page loads so the user never sees it

#

is this naughty?

lament rock
#

Using a cookie jar sucks

#

do not use a cookie jar

grim aspen
#

they do

proven lantern
#

but if i rewrite the page as soon as it loads to remove the values it should be fine

lament rock
quartz kindle
#

why do you need it in a query string in the first place?

lament rock
#

read above for context

quartz kindle
#

i did, and still dont get

lament rock
#

I suppose just tossing ideas for how to solve their issue of wanting to route through only 1 endpoint for oauth

quartz kindle
#

i mean

#

he already has the access token

#

why send it back to client side?

lament rock
#

Discord redirects user with the tokens in the qs

quartz kindle
#

yes, but thats not what hes doing

#

he already has that

#

his code is showing an additional redirect on top of that

#

like if he wanted to transfer the token from one endpoint to another

lament rock
#

ah fair

#

I did suggest storing states, but I suppose routing would still be an issue because Discord doesn't send arbitrary data

#

actually. I wonder what the headers look like

#

if a referrer or host was present, could def use that

quartz kindle
#

i wonder what hes trying to do, but this conversation is 3 hours late

lament rock
#

oauth is pain

sinful night
#

hi

fresh bluff
#

Well i got a bot running for 106 hours non stop

lament rock
#

My highest uptime is somewhere in the neighborhood of 1 year

lament rock
#

It's super easy tbh

#

All you gotta do is have your sub systems be hot reloadable

fresh bluff
#

ORP crashed like 6 times so i had to restart ot

#

it*

royal herald
#
private void load();{
	        ^^^^
Syntax error, insert "VariableDeclarators" to complete LocalVariableDeclaration
earnest phoenix
#

My bot crashed many times on last discord embed error lol

fresh bluff
earnest phoenix
fresh bluff
earnest phoenix
#

384 hours

#

Op

fresh bluff
#

The bars are full

#

but my status page is bugged

earnest phoenix
#

Why

fresh bluff
earnest phoenix
#

You using uptimerobot right?

fresh bluff
#

Bugged

fresh bluff
earnest phoenix
#

Itsnt bugged

#

You just using 30 days filter and probably your bot started less than 30 days

fresh bluff
#

Also How do i get the bot dev role?

earnest phoenix
#

By adding your bot to topgg

fresh bluff
fresh bluff
earnest phoenix
#

You need to wait almost 4 weeks

fresh bluff
#

1 more week or more now

earnest phoenix
#

Yes

fresh bluff
#

But I won't be home this weekend ugh

#

So I can't really monitor the bot and its code

earnest phoenix
#

Just be sure your bot is online

fresh bluff
#

I will

fresh bluff
proven lantern
#

is there a maximum number of guilds that a user can belong to?

rose warren
proven lantern
feral aspen
#

1

hybrid cargo
#

For anyone using linux here, does someone know how wine works in installing .exe files?

high crown
#

hey on top.gg's website, it is not showing the number of servers m bot has reached.....

earnest phoenix
#

I'm trying to make a hover effect in scss

<div class="card">Hover me</div>
.card {
  height: 100px;
  border: 1px solid black;
  border-radius: 5px;
  
  &:hover {
    animation: 0.25s hover;
  }
}

@keyframes hover {
  100% { transform: translateY(-10px) }
}

the div hovers over the page and then snaps back to its original position
how do I make it persist

earnest phoenix
#

anyone here?

#

I need help

earnest phoenix
#

wait a minute...

#
function start(action = true) {
    var i = 0;
    var timer = document.getElementById('numerator');

    setInterval(function interval() {
        timer.innerHTML = i;
        i++;
    }, 1000);

    if (action == true) {
        interval();
    } else if (action == false) {
        timer.innerHTML = 0;
        clearInterval(interval);
    } else {
        alert("Error...");
    }
}

function reset() {
    start(false);
}
```It is intended that when clicking on reset, the value should be set to 0 and the interval is cleared. But in practice, he only briefly sets the value to 0 and the interval continues immediately...
#

@earnest phoenix

#

I don't understand what you mean

#

My english is not the yellow from the egg xD

#

the only problem i found is that interval is undefined

#

And why?

#

nvm that's correct

#

ok

#

you need to clear the interval on reset

#

store the value of setInterval in a variable called interval

#

okay

#
const interval = setInterval(something goes here);
#

when you need to reset run clearInterval(interval)

sand cosmos
#

Ahora si xd```
earnest phoenix
sand cosmos
#

Ñ

earnest phoenix
#

@earnest phoenix when action === false run this

clearInterval(interval);
earnest phoenix
#
function start(action = true) {
    var i = 0;
    var timer = document.getElementById('numerator');

    const interval = setInterval(() => {
        timer.innerHTML = i;
        i++;
    }, 1000);

    if (action == false) {
        timer.innerHTML = 0;
        clearInterval(interval);
    } else {
        alert("Error...");
    }
}

function reset() {
    start(false);
}
``` Still not possible
#

@earnest phoenix

#

you forgot to add the action == true check

#

the code runs fine but it still says error

#

oh i got it

#

running start() again creates another interval which is immediately removed

#

Can you do this xD

#

@earnest phoenix

#

store the interval outside the function

#

    const interval = setInterval(() => {
        timer.innerHTML = i;
        i++;
    }, 1000);
``` This?
#

yes

#

create the variable interval outside of the function

#

assign it a value inside the function

#
var interval = null;

function start() {
  // ...
  interval = setInterval();
}
mint scarab
#

$ e

#

i heck u

quartz kindle
#

imagine a scam

rustic nova
#

Imagine

earnest phoenix
#

Imagine a capybara

carmine magnet
earnest phoenix
#

i fixed it

#

using transitions instead of animation

eternal osprey
#
  const collector = message.channel.createMessageCollector(filter, { time: 90000 });```how do i put a max of 4 answers ere?
#

here*

quartz kindle
#

{ max: 4 }

stiff lynx
#

slash commands replys are visible only to the person that used the command?

stiff lynx
#

mh

lyric mountain
#

u choose to show ephemeral or not

signal estuary
#

Some people are talking about sharding a bot. What are shards and what do they have to do with the bot?

lyric mountain
#

they split ur bot in multiple processes

#

like, instead of 1 bot with 1000 guilds, u get 2 bots with 500 guilds each

#

but they're all the same bot

#

just "fragmented"

earnest phoenix
#

wayyyyy better than a single process handling every single guild

lament rock
#

shard 0 will always do more work though because it also handles all DMs

split hazel
#

shard 0 is the real one

lyric mountain
#

wrong

#

you're considering internal sharding only

lament rock
#

Depends on your library. Discord.js spawns a worker_thread for each ws connection, which is the better choice because you can quickly run into the hard cap of how much memory nodejs can address.

#

Node can only address like 1-2GB iirc?

#

worker_threads

#

worker_threads are their own v8 instance

#

worker_threads are technically their own process since they don't share the same memory space with the master

signal estuary
#
.channel.bulkDelete(amount, true)

There is an option "true / false". What does this option do?
Thats for filtering msgs older than two weeks, right?

lament rock
#

check your lib docs

signal estuary
lament rock
#

It is not filtering if false

#

which will lead to errors

#

if you try to bulk delete a message ID older than 2 weeks, Discord will throw a non ok status code

lament rock
#

Depends on your definition of "good". Filtering out could leave the array empty

signal estuary
earnest phoenix
#

hello get this error

lament rock
#

There are tradeoffs which is why it's false

lament rock
earnest phoenix
lament rock
#

delete your package-lock and your node_modules folder and npm install again

earnest phoenix
#

ok

earnest phoenix
lament rock
#

If you keep your packages in your package up to date, no problems

earnest phoenix
#

not repl , heroku or glitch

solemn latch
#

google offers a free forever vps, but its not got a lot of resources.

earnest phoenix
#

already take

#

take all free trail service

lament rock
#

Free hosts are bad. Just buy a cheap vps like from OVH

earnest phoenix
#

also thwy all end

earnest phoenix
solemn latch
#

the free forever vps?

earnest phoenix
#

$1 - 75 rs

earnest phoenix
#

but need good cpu

solemn latch
#

then you need to pay

earnest phoenix
#

but parents cant support

solemn latch
#

zero free hosts offer free good cpu's

earnest phoenix
#

not 18+ for earn own self

lament rock
#

You'd have to wait then or have someone support you

#

I was on heroku for 2 years before I bought my own

earnest phoenix
#

using rasebeary pie and it also dead now

lament rock
#

Mine is too Xd

earnest phoenix
#

also i'm from poor country

#

to high prics of vps

wheat mesa
#

Every VPS I know of, free or not, requires you to input a valid debit/credit card or some sort of form of electronic payment to verify identity

solemn latch
#

tbh, your life situation doesn't change the fact that good servers cost money.

earnest phoenix
#

48$ - 3,593.85 rs

wheat mesa
#

If you can do that, then I’d recommend Oracle’s free tier. It’s not great, but there’s no hidden fees to get hit with on a free tier

wheat mesa
#

But you’re not gonna find a good server for free

#

That’s the end of the story

earnest phoenix
#

never like chines projuct

solemn latch
#

oracles free tier they cancel randomly and will charge you iirc

lyric mountain
#

cursed

wheat mesa
#

It’s what I use

#

Free

earnest phoenix
wheat mesa
#

Good bandwidth limit

#

2tb per month

earnest phoenix
#

my rasbeary dead

hexed sedge
#

Does anyone know how to limit slash commands for everyone? Was looking at discordjs.guide section, but it isnt working for me

solemn latch
#

someone had their mc server on one, got charged like $50 a few months later and canceled

earnest phoenix
#

thats why problem happem

wheat mesa
#

If you go over your limits you don’t get slapped with a bill

lyric mountain
#

one doesn't simply put "oracle" and "recommend" in the same sentence

wheat mesa
#

Just for free tier

earnest phoenix
#

yup

wheat mesa
#

I’d never pay Oracle

#

Lmao

earnest phoenix
#

for hosting galaxy gate best

lament rock
#

I had oracle support call me the other day regarding a trial I had set up a while ago

#

Never used it

#

wanted to slam the vm

earnest phoenix
#

please

wheat mesa
#

Lmao

lament rock
#

The trial expires soon

earnest phoenix
wheat mesa
#

You can get your own trial for free

earnest phoenix
#

then will my rasbeary pie

#

in that time

solemn latch
earnest phoenix
wheat mesa
#

¯_(ツ)_/¯

lament rock
#

Limit the roles to the guild ID as the role ID. The @everyone role is <@&guildID>

wheat mesa
#

As woo said, your life situation doesn’t change the prices for good hosts

hexed sedge
#

There is a tip that says:
If you set defaultPermission: false when creating a command, you can immediately disable it for everyone, including guild administrators and yourself.. So I added to a command defaultPermission false. But it doesnt seem to lock me out as the tip says

wheat mesa
#

Unfortunately you might have to stick with a crappy host until you can afford to upgrade

lyric mountain
#

go with contabo

hexed sedge
#
{
  name: 'beep',
  description: 'Replies with Beep!',
  defaultPermission: false,
  execute: [AsyncFunction: execute]
}

This is the json I am sending to discord

#

The command registers fine, just the permission thing doesnt actually work

solemn latch
earnest phoenix
#

just wating for some onw who sponsor me

hexed sedge
solemn latch
#

appears so yeah

hexed sedge
#

yikes

#

Okok

solemn latch
hexed sedge
#

Just created a new command, still doesnt work

lyric mountain
wheat mesa
#

Or buymeacoffee is pretty good I think

earnest phoenix
#

This is my anual income

solemn latch
lament rock
#

If you need permissions on a per role basis, add the guildID as a role and configure it's perms

earnest phoenix
#

😦

hexed sedge
#

Like nobody can usei t

solemn latch
#

🤔 are you the owner of the server?

#

I dont think you can disable commands for owners

hexed sedge
#

hold on, ill log on my alt

earnest phoenix
solemn latch
#

no

hexed sedge
#

yeah, still works on my alt

#

Thats frustrating

earnest phoenix
#

any suggest a free host or host give sponsor to developers

hexed sedge
#

There are a few, but none i would recommend

solemn latch
#

currently none that im aware of

earnest phoenix
earnest phoenix
hexed sedge
#

Cant you get a job? You can even buy a vps from contabo with relatively good specs (ish) working for low amount

earnest phoenix
#

no one give me job

spark flint
#

im 15 and i work

solemn latch
#

different countries have different standards for hiring depending on age.

hexed sedge
#

^

#

Where are you from?

earnest phoenix
#

18- work also come in this law

#

i am just come back discord after 3 month

#

and djsv13 suck my mind

#

but everything easy now

#

v13 much better than v12

earnest phoenix
#

Anyone have a good medium article on writing custom benchmark libs that are actually accurate in node?

solemn latch
#

No but I know a tim that likes to benchmark and would probably know.

earnest phoenix
#

@quartz kindle sorry for the ping but can you provide any insight on my above question?

rancid kite
#
console.error(error);
        return attentionembed(message, https://media.discordapp.net/attachments/880721991106199592/892749201295933510/design-a-logo-with-only-a-letter-that-is-eyecatching.pngget the thumbnail
    let thumb = "https://media.discordapp.net/attachments/880721991106199592/892749201295933510/design-a-logo-with-only-a-letter-that-is-eyecatching.pngng.thumbnail === undefined) thumb = "https://cdn.discordapp.com/attachments/778600026280558617/781024479623118878/ezgif.com-gif-maker_1.gif";
    else thumb = song.thumbnail.url;
    //if there is a server queue send that message! 
#

I accidently copy and paste link and this happen

#

Anyone fix it

#

@earnest phoenix

boreal iron
#

What's the question? I don't see one.

#

Just remove your wrongly copy and pasted stuff.

#

I mean it's obviously what's wrong.

earnest phoenix
#

just

#

ctrl z

rancid kite
#

Can u help

rancid kite
boreal iron
#

Just remove your wrongly copy and pasted stuff.
I mean it's obviously what's wrong.

rancid kite
#

Can you fix it

#

I need urgent

boreal iron
#

Follow your strings... starts here " and ends here "

rancid kite
boreal iron
#

You must be kidding...

rancid kite
#

;-;

solemn latch
#

you want to undo your copy paste?

rancid kite
#

Yes

solemn latch
#

control + z

#

oh nvm suggested already

rancid kite
#

I am android user

boreal iron
#

I am android user

#

Mr. Woo

rancid kite
#

):

#

Please

#

Anyone fix it my bot is online but not responsing due to this

solemn latch
#

your best bet is to delete the code and rewrite it correctly rather than trying to fix it since you wrote it before, but dont know how to fix it.

rancid kite
#

Ok

boreal iron
#

... === undefined)

#

It's obviously a statement.

#

let thumb = (condition) ? "something" : "something else";

#

=== undefined ... !condition makes more sense

rancid kite
#
ytsr.searchOne(search) ;
        song = {
          title: songInfo.title,
          url: songInfo.url,
          thumbnail: songInfo.thumbnail,
          duration: songInfo.durationFormatted,
       };
      } catch (error) {
        console.error(error);
        return attentionembed(message,
    let thumb = "https://cdn.dhttps://media.discordapp.net/attachments/880721991106199592/892749201295933510/design-a-logo-with-only-a-letter-that-is-eyecatching.png";
    else thumb = song.thumbnail.url;
    //if there is a server queue send that message!
    if (serverQueue) {
      //Calculate the estimated Time```
#

@boreal iron i improved it but not working

#

If you fix it so please

boreal iron
#

wtf is this supposed to be

#

return attentionembed(message, let thumb

rancid kite
#

So?

#

If you fix it so please

#

My brother is gone

#

And i accidently do it

#

If you fix it so please

#

No one help

boreal iron
#

Don't know anything about your code...

earnest phoenix
boreal iron
#

What's attentionembed supposed to do?

earnest phoenix
#

dont blame advanced library because of your failure

boreal iron
split hazel
#

hwe 2 mke disocrd tbot on wnidows phone

boreal iron
#

yeah, people are weird

#

My brother is gone
And i accidently do it

#

Funny how people without any clue touch code of others

clear marlin
#

@earnest phoenix

earnest phoenix
#

@boreal iron you’re not required to help if you do not wish however you are not to harass people based on their knowledge of code; I ask that in the future you redirect them to appropriate sources instead.

boreal iron
#

you’re not required to help

I did and got no answer, there's no harass anywhere, nothing I need to be sorry about, just the fact he fucked up the code and nobody else magically knows what it was before.

#

hwe 2 mke disocrd tbot on wnidows phone

Same goes with this one, obviously sarcasm and absolutely on point in this case, nothing people need to be ashamed about