#development

1 messages · Page 761 of 1

earnest phoenix
#

the only thing i like about java is not having to implicitly define a type for an item array

#

literally just that

modest maple
#

but still most of the time the usage is high due to people not optimising well before python has any real effect on it

stable horizon
#

People tend to just scatter globals everywhere and never clean them up

small prairie
#

Quick Question How Much Bandwidth Would A Normal Bot(Say Moderation) With Rare Send Database Commands Use?No Music Or Stuff Just add Role And Send messages

stable horizon
#

Holy capitalization batman

earnest phoenix
#

not that much

small prairie
#

1TB VPS Enough?

topaz fjord
#

lavaplayer > ***

knotty steeple
#

definitely enough

#

too much

stable horizon
#

Yeah that would be minimal and even less once intents are released

earnest phoenix
#

it really depends on your usage and how big the guilds are

small prairie
#

100k

knotty steeple
#

and language

topaz fjord
#

just get a vps with unlimited bandwidth

knotty steeple
small prairie
#

d.js

topaz fjord
#

ez

knotty steeple
#

d.js

#

nice joke

modest maple
#

@small prairie that bot does what pretty much every moderation bot does and is using 0.2Mbps

earnest phoenix
#

the bigger the guilds the more members you're likely to downloaded

topaz fjord
#

d.js for big amount

#

nice joke

earnest phoenix
#

download*

knotty steeple
#

ikr

#

imagine using discord.js at 1m guilds

#

best joke of the century

stray wasp
#

what would you use?

#

eris?

small prairie
#

limit is 250k

stray wasp
#

custom lib?

modest maple
#

A custom lib probs xD

earnest phoenix
#

not js

#

lmaoo

knotty steeple
#

a custom lib works yea

modest maple
#

xD

#

true

small prairie
#

Oof

#

I meant

#

one

#

server with 100k members

knotty steeple
#

or just hella optimized d.js if you still want to use it

small prairie
#

Private Bot

topaz fjord
#

anything but d.js mmLol

earnest phoenix
#

singlethreaded is weak for something as huge as 1 m guilds

modest maple
#

members dont rlly effect anything

stable horizon
#

> Be mee6
> run a modified version of dpy async branch

knotty steeple
#

dyno uses eris

#

which is js

topaz fjord
#

just like

knotty steeple
topaz fjord
#

use java mmLol

modest maple
#

mee6 is actually now mostly Threaded rather than asyncio

earnest phoenix
#

yeah that's why dyno often breaks lmaoo

knotty steeple
stable horizon
#

That's why I said modified version lol

topaz fjord
#

wait

knotty steeple
#

turtle why would use java

#

java no

topaz fjord
#

naitve lp?

#

lavaplayer > lavalink

knotty steeple
#

just make a bot in assembly

earnest phoenix
#

hah weak

knotty steeple
#

write byte code

topaz fjord
#

just use discordgo

earnest phoenix
#

i manually send binary instructions to my cpu

stable horizon
topaz fjord
#

dgo doesn't do shit for you

knotty steeple
topaz fjord
#

just does what it needs to do and connect you to the ws

modest maple
#

its like using disco instead of d.py

stable horizon
#

Disco ded

knotty steeple
#

disco died 80 years ago

topaz fjord
knotty steeple
#

ok these jokes are too far

stable horizon
#

Disco is ded, that's no joke

earnest phoenix
#

how to set up all the permissions of one channel on the server to another channel (Discord.JS)

modest maple
#

cant you just clone channeL?

earnest phoenix
#

I'd like to transfer one channel's permissions to another channel.

outer niche
#
  File "C:\Users\culan\Desktop\echo\echo.py", line 6, in <module>
    import YTDLSource
ModuleNotFoundError: No module named 'YTDLSource'``` i am still giting the same thing
stray wasp
#

ok just read the error.

outer niche
#

i did

stray wasp
#

it can't find the module which is YTDLSource

#

is it installed?

outer niche
#

yes

modest maple
#

is it installed to Path

#

and is from a folder

outer niche
#

path, folder????

modest maple
#

PATH the defualt install place of the standard Python interpreture

stray wasp
#

Meaning of path

Windows path
Featured snippet from the web
PATH is an environment variable on Unix-like operating systems, DOS, OS/2, and Microsoft Windows, specifying a set of directories where executable programs are located. In general, each executing process or user session has its own PATH setting.
modest maple
#

and if its from a seperate folder etc.. you can use from <folder> import <file>

outer niche
#

I ain't know anything about this path and folder stuff I'm going back to my old command

modest maple
#

this is the basics of python

#

like this is installing module level basic

outer niche
#

Well I have never used it so I don't know what it is

modest maple
#

I advise you Learn the basics of python then

outer niche
#

Like I said I am going to go back to my old command because I know nothing about those

modest maple
#

as we're not going to keep helping you if you dont know the basics where issues can be solved by learning to read documentation and learning the basics

outer niche
#

I know basics I have not ever used those in the time I have been coding in python so once again I am going to go back to using my old code

modest maple
#

you havent learnt the basics then

#

im sorry but that is the reality, rather than giving up and going back to old code which might not be the best way of doing it or might go through needless steps. it would benift you overall to learn the basics fully

#

the basics being:

Importing
Classes
functions
etc...

outer niche
#

Not once how about I use path and file and I code for my job everyday not once have I used them

modest maple
#
Ignoring exception in on_message
Traceback (most recent call last):
  File "D:/Innkeeper/BotStart.py", line 189, in on_message
    if str(message.guild.id) in Boot.prefixDict:
AttributeError: 'NoneType' object has no attribute 'id'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Innkeeper\EmbedOrganisers\Paginator.py", line 52, in Pager
    await LastSentMessage.edit(embed=EmbedList[Tab])
  File "D:\Innkeeper\venv\lib\site-packages\discord\message.py", line 744, in edit
    data = await self._state.http.edit_message(self.channel.id, self.id, **fields)
  File "D:\Innkeeper\venv\lib\site-packages\discord\http.py", line 220, in request
    raise NotFound(r, data)
discord.errors.NotFound: 404 NOT FOUND (error code: 10008): Unknown Message

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "D:\Innkeeper\venv\lib\site-packages\discord\client.py", line 270, in _run_event
    await coro(*args, **kwargs)
  File "D:/Innkeeper/BotStart.py", line 205, in on_message
    await CommandsHandler.Main(Data, Toggles=Toggles)
  File "D:\Innkeeper\Commands\CommandsHandler.py", line 103, in Main
    await Help.Commands(Data)
  File "D:\Innkeeper\Commands\Help.py", line 9, in Commands
    await Help(Data)
  File "D:\Innkeeper\Commands\Help.py", line 95, in Help
    await Paginator.Pager(EmbedList, Data)
  File "D:\Innkeeper\EmbedOrganisers\Paginator.py", line 54, in Pager
    await LastSentMessage.edit(embed=EmbedList[Tab])
  File "D:\Innkeeper\venv\lib\site-packages\discord\message.py", line 744, in edit
    data = await self._state.http.edit_message(self.channel.id, self.id, **fields)
  File "D:\Innkeeper\venv\lib\site-packages\discord\http.py", line 220, in request
    raise NotFound(r, data)
discord.errors.NotFound: 404 NOT FOUND (error code: 10008): Unknown Message
``` try except cant catch em all xD, 3 things all  going wrong at the perfect timin
glad charm
#

There's no current way to get the user that invited the bot right? DJS doesn't have audit log for bot_add yet.

amber fractal
#

it's in d.js tho

glad charm
#

Hmm how did I not see that?

amber fractal
#

Well that's stable

glad charm
#

Right.

amber fractal
#

Master is actually updated

glad charm
#

OH I see.

#

Thanks.

amber fractal
#

you'd have to update your code if you want to switch tho

glad charm
#

I just always stuck with stable lol.

#

Yeah.

stray wasp
#

you could probably manually add it too the lib

earnest phoenix
#

pls rich

modest maple
#

not here ty

#

for that

digital wagon
#

with discord.js, it's possible get max slot emoji for the guild ?

modest maple
#

you mean like set it so it has the max number of emojis or find out what it's limit is?

digital wagon
#

yes, find out what it's limit is

#

@modest maple

modest maple
#

there is

#

i cant find it in discord.js

#

i dont program discord.js normally but i do know you can get it /work it out

digital wagon
#

thanks @modest maple

modest maple
#

it will be similar for js

hollow saddle
#

Well... it differs per library

#

You can use the premiumTier property and just figure out the max slots from there

#

@digital wagon

digital wagon
#

Yeah, I thought I'd take it from there.

#

thanks @hollow saddle I'm going to see

hollow saddle
#

Be aware that property is only on the master branch so if you’re on stable, you should upgrade in order to use this

knotty steeple
#

how much fields can an embed have max?

modest maple
#

a fuck ton

late hill
#

25

knotty steeple
#

helpful

#

thanks

modest maple
#

altho 25 feilds looks very messy

jaunty stump
#

I am so confused with this. I have spent the last couple of hours trying to figure out why this exact code I use on my other bot works but it doesn't work now. Help?

#

I have tried looking on google but I got 0 help on how to fix it. I don't need to be told "Oh, this is the issue" and get not help on how to fix it. I just need help

glad charm
#

Probably didn't define commands for your class.

jaunty stump
#

and how/where would I do that? I have been looking back and forth between files for my two bots and Everything is the same

#

but one bot works and this one doesn't

glad charm
#

You would do it in your client's class?

#

In the constructor.

#

Here's mine for example. this.commands = new Discord.Collection();

surreal sage
#

Is there api lag rn?

glad charm
#

No

outer niche
#
  File "C:\Users\culan\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\ext\commands\bot.py", line 863, in invoke
    await ctx.command.invoke(ctx)
  File "C:\Users\culan\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\ext\commands\core.py", line 728, in invoke
    await injected(*ctx.args, **ctx.kwargs)
  File "C:\Users\culan\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\ext\commands\core.py", line 88, in wrapped
    raise CommandInvokeError(exc) from exc
discord.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: type object 'YTDLSource' has no attribute 'from_url'``` how can i fix this
topaz fjord
#

code

outer niche
#

boi

#

not helping

topaz fjord
#

can't help if you don't send code

outer niche
#

    def __init__(self, source, *, data, volume=0.5):

        super().__init__(source, volume)



        self.data = data



        self.title = data.get('title')

        self.url = data.get('url')



@classmethod

async def from_url(cls, url, *, loop=None, stream=False):

        loop = loop or asyncio.get_event_loop()

        data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=not stream))



        if 'entries' in data:

            # take first item from a playlist

            data = data['entries'][0]



        filename = data['url'] if stream else ytdl.prepare_filename(data)
        return cls(discord.FFmpegPCMAudio(filename, **ffmpeg_options), data=data)

@bot.command()
async def ye(ctx, *, url):
        async with ctx.typing():
            player = await YTDLSource.from_url(url, loop=self.bot.loop)
            ctx.voice_client.play(player, after=lambda e: print('Player error: %s' % e) if e else None)
        await ctx.send('Now playing: {}'.format(player.title))
#

that is the code

outer niche
#

Can I get some help with that

mild jolt
#

Try changing the ye

earnest phoenix
#

how to set up all the permissions of one channel on the server to another channel (Discord.JS)

summer torrent
#

clone the channel

earnest phoenix
#

Yes

summer torrent
#

or get bitfield of perms

earnest phoenix
#

clone the channel

#

let a = message.channel.????
message.guild.channels.get('ID').???(a)

quartz kindle
#

you can always use the docs...

prime cliff
#

"key too large to index"

errant swallow
#

lmao

marble juniper
#
const playlist = await youtube.getPlaylist(url);
      const videos = await playlist.getVideos();
      for (const video of Object.values(videos)) {
        const video2 = await youtube.getVideoByID(video.id);
       
        await handleVideo(video2, msg, voiceChannel, true); 
      }

this code is supposed to get a playlist but if the playlist includes a private video then it will return this error

 Error: resource youtube#videoListResponse not found

is there any way I can check if the video is private

proper inlet
#

How to get random bot emoji? (discord.js)

modest maple
#

wdym @proper inlet

#

you can only use emoji's from servers that the bot is in

proper inlet
#

This is what I want. I need to get 1 random emoji from the guilds where the bot is in

modest maple
#

ig just get a list of all the emoji's from all the guilds and randomly pick on, not sure how you would do that in JS but theirs probs a function that gives you a list of the guild's emojis

proper inlet
#

Thx

molten pewter
#

Question, for a bot running on Node.js, is the pm2 fork mode suitable enough for sharding?

vital lark
#

it should

molten pewter
#

ah cool

#

thx

maiden rampart
#

so I'm making a custom prefix command, but I have a hard-time figuring out how to make the help command show the server's prefix when you ask for help for a certain command

#

any ideas?

modest maple
#

what lib?

#

you can just use string formatting to change the prefix to what ever the custom prefix is

maiden rampart
#

discord.js

#

I want this instead of showing the normal bot prefix to show whatever the prefix is set to in the prefixes.json

#

I can't use the thing I do in the command js prefixes[message.guld.id] because message is not defined

modest maple
#

well then get it defined aura_shrug

maiden rampart
earnest phoenix
#

JSON databases ablobsweats

maiden rampart
#

don't judge luv u

vital lark
#

well

modest maple
#

json DBs will always be judged

vital lark
#

for the long run, we have to warn you

slim rapids
#

You know how to do it gif be canvas?

vital lark
#

JSON dbs are bad to do

#

JSON should be used for configurations and stuff, not meant for databases

modest maple
#

You know how to do it gif be canvas?

what

knotty steeple
#

i assume thats for

#

how to make gifs with

earnest phoenix
#

npm canvas

knotty steeple
#

canvas

toxic silo
#

For prefixes It's may be nice

knotty steeple
#

no it wont

earnest phoenix
#

this probably

sudden geyser
#

@maiden rampart late response, but you really just need to get the message instance. You could do it by defining prefix in your help manual/whatever or making it a function passing the message instance.

maiden rampart
#

thx

maiden rampart
#

why does mysql keep giving me a timeout ?

quartz kindle
#

why does pdo not support reusable variables for sql statements >.>

small prairie
#

Any Way To Find Out The "second" Mention I Know <Message>.mentions.first();

#

d.js

#

Or Lets Say Any Number Of Mention 5,6,3

#

Message.mentions Is A Collection?

#

Nvm

#

Figured it

earnest phoenix
#

you can always read the docs before asking the q

#

your no. 1 should always be the docs

small prairie
#

How Are Mentions Sorted? Ascending To Descending?

errant swallow
#

mentions are always sorted by id

#

are you working with javascript?

small prairie
#

d.js

earnest phoenix
#

they aren't sorted i think

small prairie
#

Everytime I try

earnest phoenix
#

they're in an ordinal row, original to how they are placed in the message

small prairie
#

They are sorted to their "age"

#

Nope

errant swallow
small prairie
#

Like the Older The account The Less Id It has or whatever

#

And Its always Getting Sorted Like That

errant swallow
#

ignore all the references to other code

small prairie
#

It Only Tells mentions.first()

#

I thiink

shy turret
#

message.mentions

small prairie
#

What I am Working On Has 3-4 In One String

shy turret
#

how many mentions in one cmd?

small prairie
#

And I Want It To Be Sorted Like The Way They Are In Message

#

Say 5

errant swallow
#
function getUserFromMention(mention) {
    if (!mention) return;

    if (mention.startsWith('<@') && mention.endsWith('>')) {
        mention = mention.slice(2, -1);

        if (mention.startsWith('!')) {
            mention = mention.slice(1);
        }

        return client.users.get(mention);
    }
shy turret
#

um no

errant swallow
#

wait no

small prairie
#

Cant Be Done?

knotty steeple
#

mentions are just sorted how they are in the message

errant swallow
#

apologies thats not what u were searching for

knotty steeple
#

@mention1 @mention2

errant swallow
#

no theyre not

#

theyre being sorted by user id

small prairie
#

@knotty steeple Nope

#

They arent

#

Yuo @errant swallow

#

Yup*

knotty steeple
#

since when

#

thats not how it works

errant swallow
#

idk but thats how it says in all documentation

shy turret
#

message.mentions.users.first()

#

message.mentions.users should be a list

#

if im correct

small prairie
#

Yup

#

Ordered Through Id's

errant swallow
#

yes, but its still gonna start with the lowest id

knotty steeple
#

since fucking when

errant swallow
#

not the first mention

#

i dont know sammy, but thats what i had to learn

shy turret
#

then why not just use message.mentions.users[listnum]

small prairie
#

Idk Ruining My Project Tho

shy turret
#

i think

#

.toString() maybe

errant swallow
#

[listnum] does what?

#

sorry if thats a dumb question

#

im not the best yet

shy turret
#

listnum is the list num

#

like

#

in a list

earnest phoenix
#

i guess regex the message content yourself

shy turret
#

it is like
["hi", "bye", "die"]

#

listnum[1] = "hi"

knotty steeple
#

nah its a collection

shy turret
#

listnum[2] = "bye"

#

listnum[3] = "die"

knotty steeple
#

thats how it works in eris

errant swallow
#

ah, okay
but that still has the same problem

#

sammy we're talking about d.js

shy turret
#

oh lol i code in discord.js and idk if im right or wrong

small prairie
#

If I convert It To array and Console.log that

knotty steeple
#

uh

#

i know

small prairie
#

Its Still ordered as id

errant swallow
#

sorry idk what eris is

knotty steeple
#

i said d.js uses collections not that

errant swallow
#

yeah thats right

shy turret
#

eris is like discord.js but not discord.js

#

eris is another module (i think it's called that) that is coded and used for discord bot coding in js

small prairie
#

I did a little coding in eris :/

knotty steeple
#

too hard for you

small prairie
#

Tried Around eh didnt like that as much

errant swallow
#

@small prairie you should try getting the mentions from message.content directly

knotty steeple
#

thats what you are supposed to do?

errant swallow
#

yeah, but i mean, not using message.mentions

small prairie
#

Oof

#

So There Is No Shitty Way To Sort Those As In Message Awesome

knotty steeple
#

what are we trying to do again

errant swallow
#

yes there is! im trying to explain it rn

small prairie
#

@knotty steeple Getting Message.mentions In Sort As It Is In Message

#

Like <mention1> <mention2> <mention3>

#

Not Ordered By Their ID

knotty steeple
#

but why

small prairie
#

for some wonderful reason i'd Need to Use message.mention.second

shy turret
#

lol

errant swallow
#

basically, get message.content and manually get the id between <@ and > using regex
then just do client.users.get(id you got from message.content)

#

thats what i would try

small prairie
#

Eh You Dont Understand Really But I got A Thing In My Mind That Might Actually work

errant swallow
#

im sorry, thats what im getting

#

getting the second mention from that should be possible that way

small prairie
#

Yup I think so

#

Your Thing Gave Me An Idea

knotty steeple
#

Damn How Do People Type Like This

errant swallow
#

glad to help with my beginner knowledge (:

#

lmao sammy

#

This Is So Weird

small prairie
#

Eh I AM Pretty Used To This

#

My Pinky Finger Just Goes To The Shift Key

#

I Dont Even Notice

#

Mechanical Keyboard Helps

knotty steeple
#

do you code like that

small prairie
#

Lmfao No

earnest phoenix
#

lol

small prairie
#

languages are case sensitive RIP

#

But I Do Write My message.channel.send(s) Like This

errant swallow
#

very general question:
whats the best dbms or database to use if you need to store large amounts of user data and update it, while being shards-compatible and relatively easy to use?

knotty steeple
#

there isnt a best db

#

you can use mysql or mongo or postgres or mariadb

#

you can even use sqlite if you try enough

mossy vine
#

every database is shard compatible

#

unless you are talking about a sharded database

knotty steeple
#

except sqlite

mossy vine
#

story is different then

#

except sqlite*

knotty steeple
#

sqlite is ass

glad charm
#

Why is sqlite not shardable? thonk

knotty steeple
#

its a file

glad charm
#

Right

mossy vine
#

i think its because it drops to a file or something

knotty steeple
#

sqlite is just a file

#

database.sqlite

glad charm
#

I know nothing about sharding tbf.

knotty steeple
#

same

#

my bots dont reach that point

glad charm
#

Bot won't get big enough to need shards 😏

knotty steeple
#

the biggest bot ive made had like 150 guilds but it was a furry bot a year ago

#

lul

glad charm
#

Damn

#

furry bots

#

op

errant swallow
#

i just wanna make sure abt the sharding and stuff
im pretty new to using databases, so i apologize for all my dumb questions

knotty steeple
#

just use anyone

#

except sqlite

glad charm
#

I feel attacked.

knotty steeple
#

i recommend mariadb because its sql

glad charm
#

better-sqlite3

knotty steeple
#

sqlite works for a private bot

#

in a small guild

glad charm
#

110 servers
ChiSweat

knotty steeple
errant swallow
#

so far i've just been using enmap over sqlite
just bc its super easy to use and set up

knotty steeple
#

enmap is not a database

errant swallow
#

yeah i know

glad charm
#

Time to learn postgres

knotty steeple
#

ew postgres

glad charm
#

why not thonking

knotty steeple
#

i dont like postgres

glad charm
#

Would you recommend mongo instead?

knotty steeple
#

lmao

errant swallow
#

isnt enmap an orm? i just dont know the name for it
or was it like dbms

knotty steeple
#

i would not recommend mongo either

#

i just sql

glad charm
#

Yikes

knotty steeple
#

except postgres

#

enmap is literally an enhanced Map()

errant swallow
#

im just gonna look that up, idk what that is

#

ohhh okay

#

i understand

#

ig im gonna try mariadbb

#

mariadb

knotty steeple
glad charm
#

I feel goofy as why I don't understand why sqlite can't be used in shards.

#

Like doesn't mongo store in a path as well?

knotty steeple
#

sqlite

#

is a literal

#

single file

errant swallow
#

is Keyv also just based on map()?

glad charm
#

Yeah.

knotty steeple
#

you just write to a file

#

mongo is literally glorified json but it is also a "db"

glad charm
mossy vine
#

eh

knotty steeple
#

here comes cyber

mossy vine
#

nothing to do with json really

knotty steeple
#

lul

mossy vine
#

i dont get why you compare it to json

#

no similarities to a json db

knotty steeple
#

someone else said that

mossy vine
#

yes it was you

knotty steeple
#

no

glad charm
#

Like

MongoDB stores data in JSON-like documents that can vary in structure

knotty steeple
mossy vine
quartz kindle
#

sqlite is shardable lol

modest maple
#

yh

quartz kindle
#

just because it stores data in a single file doesnt make it json

#

hell even json supports sharding if you do it properly

modest maple
#

everything is shardable if you do it right

#

xDDDD

twilit rapids
#

Does anyone know how one can set a /64 IPv6 block without writing a million lines in my netplan file

quartz kindle
#

idk what netplan is but most ip-based things support using / addresses, did you try writing it literally?

twilit rapids
#

Well, I currently have 512 addresses and created a small script and copied it into /etc/netplan/01-netcfg.yaml

small prairie
#

Ah Did it

twilit rapids
#

But with a /64 block I would have to write 18,446,744,073,709,551,616 lines

#

512 addresses is a CIDR of /119

quartz kindle
#

i dont know where in the config file you need it, but from random examples on the internet i see that it should support the / syntax

twilit rapids
#

I don't think that's IPv6

quartz kindle
#

yeah but its the same for ipv6

twilit rapids
#

What site is that?

quartz kindle
#
twilit rapids
#

Hm

earnest phoenix
#

anyone knows how I can change my ip?

#

a lil script or something

modest maple
#

local or public?

earnest phoenix
#

public

modest maple
#

you cant

earnest phoenix
#

why :-;

modest maple
#

most ISPs supply dynamic IPs so they change every few weeks

quartz kindle
#

you can, depending on your ISP

earnest phoenix
#

oh that's good

modest maple
#

not many allow changing of public ip unless its buisness version

#

even then its hard enought bh

earnest phoenix
#

what can I do against a crackhead that tracked my ip?

quartz kindle
#

yeah things are probably stricter now, but 10 years ago you could simply reboot your modem and you'd be assigned a new IP (ADSL)

modest maple
#

yh

#

xD

#

BT still do that

earnest phoenix
#

@quartz kindle ok gtk

modest maple
#

on BTs older gen 5 routers

#

sky, virgin etc dont but BT routers do still get a new ip on every reboot

earnest phoenix
#

I have a fuckin FritzBox xD

modest maple
#

how did u get IP tracked anyway

quartz kindle
#

if your modem allows for it, you can set your own static IP and try your luck with the ISP assigning it lmao (which most likely wont work)

modest maple
#

just fyi with that

#

if you try it

#

and it doesnt work

#

u will cut ur internet

#

xD

quartz kindle
#

until he sets it back to dynamic

modest maple
#

yh

#

altho most basic routers only support setting static local IPs

earnest phoenix
#

I was playing some Csgo and some dumbass called my ip and location out.

#

@modest maple

modest maple
#

not a massive thing tbh

quartz kindle
#

well, nothing he can really do with that

modest maple
#

this *

#

bearing in mind most ISPs now block most DDos attacks

#

and somtimes routers also have systems in place to prevent it aswell

earnest phoenix
#

K

quartz kindle
#

and literally all websites you visit will store your IP address

#

lmao

modest maple
#

yh

quartz kindle
#

the only way to protect your IP is a VPN

modest maple
#

buT wHaT abOuT oNiOn LaYeRs

quartz kindle
#

literally the same thing lul

modest maple
#

ik xD

quartz kindle
#

also freenet > onion

modest maple
#

F

quartz kindle
#

rip

#

use wireshark

#

(good luck)

modest maple
#

im on the router system atm

#

debating wether to set up a local cloud storage

honest karma
#

I'm getting frustrated with trying to setup my database properly (I'm using mysql for reference) and what I'm trying to do is to get one account to pull up a specific table for each entry they receive (ex. if they have multiple character profiles and they want to pull up a specific character from that profile). Is it even possible for me to do it or have I been going about this the wrong way?

quartz kindle
#

the best approach would be:
table1 -> users (column for unique id and column for array of character ids)
table2 -> characters (column for unique id and column for owner id)

honest karma
#

thank you so much!

modest maple
#

tim ur a fucking genius

#

i gotta redo my DB

#

but it gives me an idea

west spoke
#

yeah that's why tables are good to work with

earnest phoenix
#

can some one help me

west spoke
#

no (yes)

#

what with

earnest phoenix
#

Im coding music nodes but nothing is wrong yet it dosent work ill send the code

#

wait hold on I have to send it in parts'

west spoke
#

Send it as a file

modest maple
#

or use hatebin or somthing

earnest phoenix
#

how to send as a file?

#

I dont normally do that

modest maple
#
  1. not here ty @earnest phoenix
  2. go to hastebin
#

paste it there

#

save it

#

send us the link

earnest phoenix
#

me?

#

ok

modest maple
#

yes

quartz kindle
#

nothing is wrong
thats a bold statement considering it doesnt work lmao

earnest phoenix
#

there I copy and pasted the code

west spoke
#

oh its js

earnest phoenix
#

yeah

modest maple
#

@quartz kindle youre up <3

quartz kindle
#

i need sleep :(

earnest phoenix
#

alright ill come back tomorrow then

grizzled raven
#

rip

maiden rampart
#

Anyone knows why the bot start throwing this error: cannot send empty message.

It’s not any of my commands, it doesn’t show that at least.

earnest phoenix
#

you're trying to send an empty message somewhere

#

handle your errors properly

maiden rampart
#

That’s just stupid, I won’t do that lol

#

Want the bot terminal log ?

earnest phoenix
#

what's the full stacktrace, yeah

maiden rampart
#

It’s the first couple of errors not the last one

modest maple
#

Well what is this message you're trying to send the

earnest phoenix
#

well you sure are trying to send an empty message

maiden rampart
#

The problem is I’m not trying to send anything

earnest phoenix
#

check your event handlers

maiden rampart
earnest phoenix
#

from what i'm seeing you have a database, i'm going to assume you have some string users can modify

maiden rampart
#

This error is from way back

#

Not because of the db

earnest phoenix
#

i'm aware

#

reread what i said

#

you're probably trying to send that empty string in some event handler/command

maiden rampart
earnest phoenix
#

i'm going to assume you have some string users can modify
can you confirm this? so i don't go helping on assumptions

maiden rampart
#

I don’t think so

#

Users can’t edit anything

modest maple
#

It's trying to send something

earnest phoenix
#

recheck all of your send methods then

maiden rampart
#

The problem is it’s not saying where

earnest phoenix
#

i told you to handle your errors properly and then you would know where

maiden rampart
#

I can’t go in every command and check every line BlobFearSweat

earnest phoenix
#

if you're using an IDE, which i hope you are, search functions exist

maiden rampart
#

Using atom tbh

modest maple
#

Atom has a search function

earnest phoenix
#

the first error is internals and the second one is irrelevant to what we're talking about @modest maple

modest maple
#

Fairs

earnest phoenix
#

computers can't lie, so you are indeed trying to send an empty message somewhere

#

would it be an input string or hardcoded

maiden rampart
#

Where would I put a complete line of code to send an empty message

earnest phoenix
#

huh?

maiden rampart
#

Sorry it’s 2am

#

I’ll look into it tomorrow

#

Good night

earnest phoenix
#

night night

broken ruin
#

Why
\:emoji name:
Doesn't work?

amber fractal
digital wagon
#

discord.js -> node-opus or opusscript ?

maiden rampart
#

I found out why the error was emitted

#

I think it’s because of the say command

#

Today gonna self host and test every command

lyric mountain
#

I'll add more methods to it, but it already has the core functionality done

proper inlet
#

I am doing an economic bot. Now I am doing boosters, how can I make them end after a certain time? I need to execute some code after n hours after a person bought a booster. How can I do it? (discord.js)

#

That is, execute the code after a certain time after writing the command, even if the bot is rebooted

modest maple
#

have a db with time stamps of each user who has done boosters

#

and just have a loop checking if the time stamp has past

proper inlet
#

Thx

earnest phoenix
#

const prefixRegex = new RegExp(`^(<@!?${client.user.id}>|\\${prefix})\\s*`);
    if (!prefixRegex.test(message.content)) return;
    let [, matchedPrefix] = message.content.match(prefixRegex);
``` Can someone tell my why if the prefix is more than one character, my bot wont recognise the command and how should I fix it?
earnest phoenix
#

@digital wagon both the same

vale garden
#

hi

earnest phoenix
#

@earnest phoenix why are you using regex for a prefix

#

it's a prefix, you just have to check if the string starts with it

#

@earnest phoenix I also need to have mention prefix

untold valley
#

ok

earnest phoenix
#

this is the most effective way i can do do it with my knowledge

#

i need to check if the prefix is a mention or just a normal prefix quickly

modest maple
#

you do know

#

you could just check if the message starts with the prefix OR the bot is mentioned

wheat jolt
#

so I have const { Client } = require('discord.js') const bot = new Client() bot.login('tOkEn HeRe')
will this work?

modest maple
#

it should do but i advise having your token in a seperate file

wheat jolt
#

tho, why should the token be in a separate file?

white anvil
#

hardcoding the token is bad

#

if u ever want to make a repo out of ur bot then u cant commit the index file if it has the token in it

modest maple
#

without the token getting regened

white anvil
#

but if u make a config file u can ignore that and commit the index lol

wheat jolt
#

of course but I don't use github

#

like I don't make public bots with source code

white anvil
#

still better practice to hardcode as little shit as possible

wheat jolt
#

If I would, I would store the token in a file

modest maple
#

i use github with public bots xD

#

so other devs can review it and make changes aura_shrug

wheat jolt
#

And then gitignore it or put it in a parent folder

white anvil
#

honestly having all ur config in one place just makes ur bot a lot easier to manage if nothing else

modest maple
#

yh

#

like

#

it does get to the point where sure you can have it in one file

#

but the bigger it gets the messier it gets

compact oxide
#

no u

modest maple
earnest phoenix
#

my profile is just full of repos i start working on and then lose motivation 2 weeks later lol

modest maple
#

mine consist of my fuck ups

#

just me failing to use github really

#

20% clojure, 20% CPP 60% python xD

knotty steeple
#

@earnest phoenix same bruh

#

sometimes they continue for a while

compact oxide
#

m

surreal sage
#

eee

#

i think im gonna buy dbl.site domain to redirect to top.gg

modest maple
#

why

#

also its the short description from when you first submitted it

earnest phoenix
#

Yo I need a bot

#

I can pay

#

Dm me for me info

#

So?

modest maple
#

Not in here please

earnest phoenix
#

@earnest phoenix do your bot :p

#

Lol

#

Shino u rat

#

Do u get it because shino is a Remote administrator Tool

#

So u are a R.A.T

modest maple
cunning sedge
#
const Discord = require('discord.js')
module.exports.run = async (client, message, args) => {
client.on('guildMemberAdd', member => {
  let autenticando = message.guild.roles.get('ID');
// Adicionar o cargo autenticando ao membro
  member.addRole(autenticando.id);
  
  member.guild.channels.get('ID').send("clica no emoji").then(msg => {
    msg.react("✅");

  // aqui você coloca o coletor de emoji
  })
}```
#

why error

slender thistle
#

which error

earnest phoenix
#

whats the error

sinful lotus
#

bad syntax or duplicate event listeners

cunning sedge
#

unexpected token

sinful lotus
#

I can see on one look the syntax might be wrong.
Another error will be you are flooding your bot with memory leak

slender thistle
#

You aren't closing your .then

cunning sedge
#

?;çç

earnest phoenix
#

copy pastas be like:

modest maple
#

Code In function:
Thread = threading.Thread(target=SearchSite, args=(Data, 2, Url)
Thread.start()
while Thread.is_alive():
    await asyncio.sleep(0.5)


Subrutine in error:

def SearchSite(Data, Toggle, **kwargs):
    global Website, Name, Desc
    url = kwargs.get("url", False)```
#
Traceback (most recent call last):
  File "C:\Users\ChillFish8\AppData\Local\Programs\Python\Python37\lib\threading.py", line 926, in _bootstrap_inner
    self.run()
https://app.reroll.co/marloso2/174891
  File "C:\Users\ChillFish8\AppData\Local\Programs\Python\Python37\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
TypeError: SearchSite() takes 2 positional arguments but 3 were given```
#

anyway i can fix this?

#

i think its because the threading module doesnt like **kwargs

surreal sage
#
        if(command === "help") {
            const embed = new Discord.RichEmbed()
            .setTimestamp()
            .setTitle(`*Commands* - ${client.user.username}`)
            .addField("Buy", '`' + prefix + 'buy` Creates an channel for you only.')
            .setFooter("Luca's Bot")
            .setColor("#9370db")
            message.channel.send(embed)
        }``` it stops when i execute this
twilit rapids
#

Wdym "stops", does it crash? Does it go offline? Any errors?

surreal sage
#

no error

#

i test run it in terminal and it just creates an new command line and stops the bot

#

and the cmd after it works fine

#

@twilit rapids

twilit rapids
#

No idea then

surreal sage
#

@twilit rapids @earnest phoenix DM Advertising and spoonfeeding

#

that isnt it

#

dm advertising isnt allowed

#

same for spoonfeeding

twilit rapids
#

@surreal sage can you send me a screenshot of what they send

modest maple
#

dont

#

Spoon

#

Feed

slim hollow
#

busted

modest maple
#

The simple answer as to why we do not spoonfeed, is it does not help you learn.

If you come in this server and ask a question that has a very basic answer, and you do not know how to figure out this answer...then put quite bluntly, you need to learn more. What we will do, is point you in the right direction to learn what you need to. By simply giving an answer that you, most likely, cannot then figure out why it is the correct answer....you learn absolutely nothing.

All developers need to learn some very basic things:
How to read docs
How to read tracebacks/errors
How to figure out where to look
Would your question be better suited to simply google?
Is your question in the docs, quite clearly?
If you think about your question, do you think it's probably been asked many times before? Have you tried the FAQ?

Whenever you are "not spoonfed", you are being assisted in how to do one of the above. Don't be unnapreciative, it is the type of help you need, whether you want to admit it or not.

surreal sage
#

gd to post that

earnest phoenix
#

bout to get beaned for ads

surreal sage
#

now he send an txt msg

#

not gonna open

#

banned

#

Your Welcome Timo

slender thistle
#

What kinda programs should I make to get used to the syntax of a programming language I am learning

surreal sage
#

idk

stark dune
#

i guess codeacademy can help you

#

and hello world

slender thistle
#

Does it have exercises?

surreal sage
#

y

stark dune
#

mhm

modest maple
#

whats the language shiv?

slender thistle
#

Fucking Spotify...
C#, Chilliilili

stark dune
modest maple
#

solo learn is better

slender thistle
#

I literally only need exercises

surreal sage
#
        if(command === "help") {
            if(args) return;
            const embed = new Discord.RichEmbed()
            .setTimestamp()
            .setTitle(`*Commands*`)
            .setDescription('`!buy` Creates an channel for you only.')
            .setFooter("Luca's Bot")
            .setColor("#9370db")
            message.channel.send(embed)
        }```
slender thistle
#

Having a trouble there, fellow coder?

#

``if(args) return;` sure this is fine?

modest maple
#

its not

#

no

#

xD

surreal sage
#

i removed it

stark dune
#

ok rip i didn't know codeacademy has the most important programming aspects set for premium-only

surreal sage
#
        if(command === "help") {
            const embed = new Discord.RichEmbed()
            .setTimestamp()
            .setTitle(`*Commands*`)
            .setDescription('`!buy` Creates an channel for you only.')
            .setFooter("Luca's Bot")
            .setColor("#9370db")
            message.channel.send(embed)
        }
slender thistle
#

So like

#

is there an issue you've got or

surreal sage
#

i do not have any errors

stark dune
#

does the bot respond to other commands after you did 'help'?

surreal sage
#

y

stark dune
#

then i guess the if-statement block isn't executed

slender thistle
modest maple
#

Solo learn is good

#

you can do the quizes

stark dune
#

yeah apparently rip, sorry i only knew codeacademy for learning languages online but i never really used it

slender thistle
surreal sage
#

j g

signal garnet
modest maple
#

yes

earnest phoenix
#

have you tried reading what it says

modest maple
#

wait

surreal sage
#
        
        if(command === "help") {
            const embed = new Discord.RichEmbed()
            .setTimestamp()
            .setTitle(`*Commands*`)
            .setDescription('`!buy` Creates an channel for you only.')
            .setFooter("Luca's Bot")
            .setColor("#9370db")
            message.channel.send(embed)
        }```
mossy vine
#

remove that console.log

surreal sage
#

thats an test

mossy vine
#

and it breaks your code because setTimestamp cant fucking chain on console.log

earnest phoenix
#

wouldn't that produce an error?

mossy vine
#

correct

surreal sage
mossy vine
#

does anything log at all

surreal sage
#

it logs

#

1

#

3

#

4, finish

#

so idk

stark dune
#

embed.build

earnest phoenix
#

what

surreal sage
#

this is discord.js

stark dune
#

ah so that isn't a thing over there

#

my bad

surreal sage
#

this shal work

earnest phoenix
#

the embed should be sending, and if it isn't it should be logging an error

surreal sage
#

it isnt

#

im gonna add try so i can catch

mossy vine
#

are you on stable or master

cunning sedge
earnest phoenix
cunning sedge
#

Pepe

surreal sage
#

:///

mossy vine
#

are you on stable or master

cunning sedge
#

Loritta has 200 commands

#

@short eagle

earnest phoenix
#

nice

surreal sage
#

how to change the permission for "@\everyone" and the author

#
        if (command === "help") {
            const e = new Discord.RichEmbed()
            .setTitle("Commands")
            .setAuthor(client.user.username)
            .setThumbnail(client.user.avatarURL)
            .setColor("#9370db")
            .setTimestamp()
            .setDescription("`!buy`")
            //send
            message.channel.send(e)
        }```
earnest phoenix
#

what

surreal sage
#
message.guild.createChannel(`${message.author.tag} (${message.author.id})`, { type: "text" } )``` i got this
#

but i want to change the perms of @everyone and the author

earnest phoenix
surreal sage
#

i just looked but i dont understand

earnest phoenix
#

because createChannel can include permission overwrites

errant swallow
#

question:
if you have loads of data (objects, values, etc) that needs to be accessed fairly often but never changed, how would it make the most sense to store it?

stark dune
#

if your memory allows it you could store in memory, so store in your code and call it from there

surreal sage
#

its fixed

stark dune
#

nice

modest maple
#

AHH

surreal sage
#
 if (command === "buy") {
            let channel = message.guild.channels.find(ch => ch.name === `${message.author.tag}`)
            if(message.channel.type === "dm") return message.reply("This is DMS! :x:");
            if(channel === true) return message.reply("You already have an channel! :x:");
            message.guild.createChannel(`${message.author.tag}`, {
                type: "text",
                permissionOverwrites: [{
                    id: message.guild.id,
                    allow: ['VIEW_CHANNEL', 'READ_MESSAGE_HISTORY', 'READ_MESSAGES'],
                    deny: ['SEND_MESSAGES', 'MANAGE_MESSAGES']
                }, {
                    id: message.author.id,
                    allow: ['SEND_MESSAGES', 'READ_MESSAGE_HISTORY', 'VIEW_CHANNEL', 'READ_MESSAGES', 'SEND_TTS_MESSAGES'],
                    deny: ['MANAGE_MESSAGES']
                }]
            })
            let channel = message.guild.channels.find(ch => ch.name === `${message.author.tag}`)
            //open embed
            const openEmbed = new Discord.RichEmbed()
            .setTitle(message.author.username)
            .setDescription("Welcome to your channel!")
            .setThumbnail(message.author.avatarURL)
            .setColor("#1e90ff")
            //open embed end
            channel.send(openEmbed)
        }``` but here it does not know "channel" of unknown (null)
modest maple
#

@errant swallow what language

errant swallow
#

javascript with discord.js

surreal sage
#

just discord.js is good

modest maple
errant swallow
#

im just storing it in .json rn but that seemed kinda cheap

earnest phoenix
#

and bad

modest maple
#

we can ignore that link

errant swallow
#

yeah i was hoing to ask wtf lmao

modest maple
#

i dont think pickle.js is the same a pickle with python

#

in python you can use pickle to store objects

earnest phoenix
#

if the data is pulled and updated very often, use an actual database e.g postgres

errant swallow
#

as i said, its just static data that only needs to change when i do

earnest phoenix
#

if not so often, use sqlite which is minimal and still efficient

errant swallow
#

okay, thanks for the help, but i'm more looking for something i can edit as text in a file

earnest phoenix
#

no

#

why

#

i don't get what you want

modest maple
#

you want to edit object

#

In a text file!?

earnest phoenix
#

do you have dynamic data or static data

errant swallow
#

AAAHH im sorry i didnt give any context

#

so basically, i have loads of static data, and i want it to be easy to modify when i need to tweak something while coding

earnest phoenix
#

then a json file is enough

errant swallow
#

okay, thank you!
just wanted to make sure

earnest phoenix
#

to reduce memory and cpu load read the json file once on boot and save the data it returns and pass it around in your application

errant swallow
#

yeah, im just gonna require it in my main file

late hill
#

require uses cache anyway so it wouldn't make a difference?

stiff laurel
#

Does the https://top.gg/newbot host a bot i create and keep it online? I have no idea how it works. I have a bot i want hosted for me, its a custom bot for a browser game i helped contribute to.

modest maple
#

no

#

thats not how it works

stiff laurel
#

Rather then point me to the FAQs, why not explain it to me.

modest maple
#

because the faq explains it but sureeeeeeeeeeeeeee

Top.gg does NOT host you bot nore is it the place to start making a bot with.

If you want hosting your only good options are:

  • Get a cheap VPS
  • Self host
#

if anyone says glitch or heroku dont even think about it

twilit rapids
#

FAQs exist so we can easily help people with questions that are asked often rather than explaining it 80 times a day

modest maple
#

i mean allow me to reitterate what i said in more detail:

If you haven't made the bot, but you want to, start here:
Figure out if you want to start making a bot using code;

Important things you should know:

twilit rapids
#

Boi

modest maple
#

he wont notice that i just C+P that off faq

cunning sedge
#
/app/bot.js:51
})
 ^
SyntaxError: Unexpected token )
    at new Script (vm.js:80:7)
    at createScript (vm.js:274:10)
    at Object.runInThisContext (vm.js:326:10)
    at Module._compile (internal/modules/cjs/loader.js:664:28)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:712:10)
    at Module.load (internal/modules/cjs/loader.js:600:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:539:12)
    at Function.Module._load (internal/modules/cjs/loader.js:531:3)
    at Function.Module.runMain (internal/modules/cjs/loader.js:754:12)
    at startup (internal/bootstrap/node.js:283:19)```
#

help

#

error

earnest phoenix
#

faq literally means frequently asked questions and it's there to answer your frequently asked question lmao

stark dune
#

add ';'?

modest maple
#

unexpected ) read the error

#

SyntaxError: Unexpected token )

earnest phoenix
#

Remove ) @cunning sedge

modest maple
earnest phoenix
#

;-;

digital wagon
earnest phoenix
#

y maybe wrong bracket

#

@digital wagon English only

modest maple
#

@digital wagon english please

digital wagon
#

excuse ^^'

modest maple
#

no

#

its the fact that we speak english

#

and would rather not translate everything you put

#

also

#

you dont need todo that / you should idk what ur doing to need that but okayyyyyyyy

digital wagon
#

Sorry, I'm used to writing in french, so I made a mistake :/

surreal sage
#

How to format an Collection?

earnest phoenix
#

wym "format"

surreal sage
#

like

#

console.log(collection)

#

but it shows

earnest phoenix
#

yeah

surreal sage
#

how to make it log the data in it

stark dune
#

.toString()?

earnest phoenix
#

lol

surreal sage
#

ok gonna try

earnest phoenix
#

or you can just use methods of the collections

#

like Collection#map

#

join

surreal sage
#

does not work

#

same output with toString

earnest phoenix
#

it does work you just arent doing it properly

surreal sage
#

axeval const formatted = message.channel['messages'].toString()
message.author.send(formatted)

#

this is what i use at eval

#

waiittt

#

bot commands can do things here

#

shal

#
const collection = message.channel.messages
message.reply(collection.array())``` work?
earnest phoenix
#

you'll have to fetch the messages right

#

using TextChannel#fetchMessages

#

then that returns a promise of fetched messages

#

and your attempting to send an array

#

when reply needs a string

surreal sage
#
const collection = message['channel'].fetchMessages()
message.reply(collection.array())```
earnest phoenix
#

what

#

message['channel'] ?

surreal sage
#

wait

#

gtg

earnest phoenix
#

um ok

#

well ig that could work tbh

surreal sage
#

wait

earnest phoenix
#

idk why not just use message.channel

surreal sage
#

i get on the phone later

earnest phoenix
#

alright

surreal sage
#

does that work?

earnest phoenix
#

the code?

surreal sage
#

nvm

amber fractal
#

I mean both work

modest maple
#

TypeError: SearchSite() argument after ** must be a mapping, not str

#

the code was Thread = threading.Thread(target=SearchSite, args=(Data, 1), kwargs=Url)

#

oh

#

nvm

#

i updated the wrong code

#

splish splash turns out its still broken

#

splish splosh fixed it

maiden rampart
#

Anyone knows why a MySQL server closes the connection

prime cliff
#

Did you try turning it on and off again

sudden inlet
#

Im looking for a bot developer that can make a custom bot to connect channels of different discord server's, so a bot for cross server chat, please pm if you are a bot developer that can do that for me

modest maple
#

@sudden inlet not the place to ask here

sudden inlet
copper cradle
#

@sudden inlet I made one some time ago

#

if you're interested dm me

sudden inlet
#

Ok 👍

surreal sage
#

How to export an chat to an file and respond with the file

modest maple
#

Take logged chat

#

write to file

#

send file as attachment

surreal sage
#

but how

#

i know something with

#
const athingie = message.channel.fetchMessages()```
#

idk then

modest maple
#

search up in js how to write content and export a file

surreal sage
#

no

modest maple
#

well then

#

idk what else u want me to say then

#

if you want to send a file with the stuff in

#

YOU HAVE TO WRITE THE CONTENT TO THE FILE FIRST

copper cradle
#

we're not here to spoon feed

cunning sedge
#

Can anyone help me make an anti raid?

modest maple
#
  1. we dont spoonfeed
  2. you can program / should be able to program it yourself if you want it rather than asking somone else to make it for free
  3. if you are offering to pay or want buy i suggest Fiverr rather than here unless you want to make an offical listing for a job offer aura_shrug
surreal sage
#

ik

#

how to

#

im not asking

#

"can i get a script that"

modest maple
#

we told you know todo it

#

how*

surreal sage
#

it returns something

#

but something incorrect

modest maple
copper cradle
#

CD do I know you from another server?

surreal sage
#

idk

cunning sedge
#

@copper cradle

surreal sage
#

we are in dev servers

cunning sedge
#

and I did an anti raid but it didn't ban the fake accounts that were raiding too much

#

my server was attacked today

copper cradle
surreal sage
modest maple
#

failure in the code ig then

surreal sage
#

@twilit rapids fucking change or nicks back

twilit rapids
#
  1. You could ask nicely
  2. No, because you have ads in your status
surreal sage
#

i do not have an ad in my nickname

#

ok sorry

#

Can you please change back my nickname?

earnest phoenix
#

toxic much

twilit rapids
#

Did you even read my message?

surreal sage
#

no

cunning sedge
#

😩

surreal sage
#

oh oops you redid it

#

now good?

stark dune
twilit rapids
#

Literally still telling to invite

copper cradle
#

lmao

cunning sedge
surreal sage
#

now good?

twilit rapids
#

If I ever see you with status ads again it will never be changed back

surreal sage
#

uhh ok

#

thx

modest maple
#

time to wip out ye old status logger bot

copper cradle
#

lol

#

I fucking love having custom statuses

twilit rapids
slender thistle
#

What's the difference between private and protected in C#?

twilit rapids
#

Access modifier?

slender thistle
#

yep

twilit rapids
#

Private: The type or member can only be accessed by code in the same class or struct.
Protected: The type or member can only be accessed by code in the same class or struct, or in a derived class.

slender thistle
#

C+P Microsoft docs smh

modest maple
#

xD

slender thistle
#

mmulu I was tad bit lazy soz

#

thank

grizzled raven
#

how do you convert a string to json

#

nvm

valid frigate
#

bruh

grizzled raven
#

i knew it

#

it just didnt work

earnest phoenix
#

I'm doing discord bot tutorial on my YT channel

grizzled raven
#

no advertising

earnest phoenix
#

no being noob

modest maple
#

yah no

surreal sage
#

no being idiot

modest maple
#

didnt need that either

earnest phoenix
#

the average iq in this channel goes down by every minute that goes by

modest maple
#

pretty much

grizzled raven
uneven wyvern
#

hi

#

i need help with my bot

modest maple
#

okay

#

gonna give error

#

code

#

etc...

uneven wyvern
#

its not so much an error

#

its more i need to add but dont know how to

earnest phoenix
#

add what

uneven wyvern
#
  1. is the custom stats (online, dnd, away, and 'the bot is doing something' ect)
modest maple
#

what lib

uneven wyvern
#
  1. is the mentioning people
modest maple
#

what lib

earnest phoenix
#

bots can't have custom status

modest maple
#

you can set status's

earnest phoenix
#

mentions are just <@id> format

#

yes but not custom status

modest maple
#

and <@!id> format aswell

uneven wyvern
#

ooh oki ive been trying everything for the custom stats XD

earnest phoenix
#

the exclamantion mark formatting is just for detecting mentions

#

it today does nothing

uneven wyvern
#

oh oki

modest maple
#

oh did they fix that?

earnest phoenix
#

it used to be an indicator whether the user has a nickname but that was way back in 2016/17

#

it's still in the client