#development

1 messages · Page 1316 of 1

solemn latch
#

thats not how webhook url works

#

top.gg webhooks are not compatible with discord webhooks

#

they go to your bot

earnest phoenix
#

so what do i do?

solemn latch
#

put in the url as the proper format
http://ip:port/path

earnest phoenix
#

this?

solemn latch
#

ip is your vps ip, port is 5000, path is /dblwebhook

#

yes

#

thats the url the webhook posts are sent to

earnest phoenix
#

wait where do i put http://ip:port/path in?

solemn latch
#

the webhook url

earnest phoenix
#

in the Webhook URL on the website

#

hmm

solemn latch
earnest phoenix
solemn latch
#

yeah

earnest phoenix
#

so like this?

sick fable
#

Can someone tell me what is the meaning of COGS?

earnest phoenix
#

still not working

solemn latch
#

just to make sure, you replaced ip with the vps's ip

#

right

earnest phoenix
#

yup

solemn latch
#

both auths are the same?

earnest phoenix
#
import discord
import dbl
from discord.ext import commands, tasks
import asyncio
import json

class TopGG(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.token = f"{self.bot.top_gg_token}"
        self.dblpy = dbl.DBLClient(self.bot, self.token, webhook_path='/dblwebhook', webhook_auth='Flantic', webhook_port=5000, autopost=True)

    @commands.Cog.listener()
    async def on_guild_post(self):
        print(f"Posted guild count: {len(self.bot.guilds)}")

    @commands.Cog.listener()
    async def on_dbl_vote(self, data):
        print("Received a test upvote:", "\n", data, sep="")

    @commands.Cog.listener()
    async def on_dbl_test(self, data):
        print("Received a test upvote:", "\n", data, sep="")
    


def setup(bot):
    bot.add_cog(TopGG(bot))
#

dw ill change auth later

solemn latch
#

only other thing i can think of is the problem with dbl.DBLClient not being a method.

#

which shiv or another py dev will have to figure out

#

because its beyond me

earnest phoenix
#

dblpy version 0.4.0

dire obsidian
#

Well a question

#

Can you make a eval command in d.py?

tame kestrel
#

If you wanted, you could. Just be careful with your bot running untrustworthy code

#

If anything, I would say you don't want your bot being able to trust your user one bit.

dire obsidian
#

Yeee im just asking

#

I haven't make bots since the summer of '64

ionic shard
#

any api that can return images only from reddit

solemn latch
#

the reddit api

faint prism
#

You can't fool me

karmic compass
#

does anyone know uh

#

can you ```js
throw "Whatever the heck i want here"

earnest phoenix
#

You can't fool me
@faint prism lol

#

btw do you know whats wrong?

tulip lodge
#

throw new Error('error message') @karmic compass

karmic compass
#

ah thank you :)

pallid pulsar
#

?

earnest phoenix
#

please read faq before asking questions

tardy hornet
#
if(!message.member.voice.channel) return message.channel.send('please join a voice channel first.')
#

not working

slender thistle
#

@earnest phoenix Make sure you don't have any files or folders named dbl created by you

earnest phoenix
#

@tardy hornet what's the error?

earnest phoenix
tardy hornet
#

wdym

leaden garden
#

might wanna readd DiscordPHP to the list again, as the project is active again

next flax
#

how can we make a edit embed command (nodejs)

tardy hornet
#

@earnest phoenix wdym?

#

@tardy hornet what's the error?
@earnest phoenix TypeError: Cannot read property 'join' of null

tardy hornet
#

someone please help me

fickle sapphire
#

Its says that you cant join something together that isn’t there

#

Wats the code

#

Like where the error originate from

tardy hornet
#

thats the join and leave command:

case 'join':
          message.member.voice.channel.join()

          if(!message.member.voice.channel) return message.channel.send('please join a voice channel first.')
            
          break;



          case 'leave':
            bot.voice.channel.leave()
            if(!bot.voice.channel) return message.channel.send('I need to be in a voice channel first.')
            break;
    ```
fickle sapphire
#

Did you use a switch above?

next flax
#

how can we make a edit embed command (nodejs)

static acorn
#

msg.edit

earnest phoenix
#

Oh my god

#

I never seen white name use switch before

#

This is the first one

next flax
#

msg.edit
@static acorn i want to edit a message sent by the bot long ago

#

bro

#

how will the bot fetch that message

#

¯_(ツ)_/¯

#

thats what i want

static acorn
#

long ago?

#

o u can use message id

earnest phoenix
#

@tardy hornet channel is null

static acorn
#

@next flax

earnest phoenix
#

you only gave us one piece of code

next flax
#

but how

earnest phoenix
#

I'm 99% sure you're checking if the member is in a voice channel AFTER you're trying to join the channel
Isn't it obvious why the error occurs?

#

The bot will try to join the channel anyways

#

Then remind the member AFTER it already tried to join the channel

#

Yeah he's actually doing that just saw the code

tardy hornet
#

I'm 99% sure you're checking if the member is in a voice channel AFTER you're trying to join the channel
Isn't it obvious why the error occurs?
@earnest phoenix
yes indeed

#

now it fixed

next flax
#

let args[0] == message.id

message.edit(args.slice(1).join(" "))

#

@static acorn

#

?

static acorn
#

??

#

try

earnest phoenix
#

bruh

static acorn
#

?

earnest phoenix
#

It won't work

static acorn
#

i know

#

but he should know his mistakes

earnest phoenix
#

then why do you saying "try"

#

bruh.

tardy hornet
#
case 'leave':
if(!bot.voice.channel) return message.channel.send('I need to be in a voice channel first.')
            bot.voice.channel.leave()
            
            break;

now that, he is not leaving the channel

static acorn
#

u using bot or

#

client

tardy hornet
#

bot

static acorn
#

ok

next flax
#

he is using bot

#

bruh.
@earnest phoenix can u help me Please

earnest phoenix
#

What do you trying to do? @next flax

static acorn
#

@tardy hornet js if (!message.guild.me.voice.channel) return message.channel.send('not in the voice channel'); message.member.voice.channel.leave();

next flax
#

im trying to make a edit embed command @earnest phoenix

earnest phoenix
#

then firstly you should send a embed to channel.

next flax
#

done

#

already

earnest phoenix
#

and edit it

next flax
#

i want to make a command not a function

earnest phoenix
#

nani

next flax
#

like after sending embed auto edit

static acorn
#

oo

earnest phoenix
#

@next flax turk?

static acorn
#

u making a ping like command?

next flax
#

bro i want to make like carl

#

bot

static acorn
#

oh

next flax
#

and volt

#

carl uses json code thou

static acorn
#

hm

earnest phoenix
#

:(

next flax
#

@earnest phoenix nope

static acorn
#

eng only

next flax
#

english or hindi

#

u indian i guess @static acorn

static acorn
#

i know hindi

#

yeh

next flax
#

Ye

static acorn
#

😂

next flax
#

😂

static acorn
#

😂

earnest phoenix
#

English only

next flax
#

yes

static acorn
#

okay

next flax
#

hm

slender thistle
next flax
#

so

#

lets get started

static acorn
#

come dm

next flax
#

@slender thistle sorry shiv : (

tardy hornet
#
case 'pimpostor':
  if(!message.member.voice.channel) return message.channel.send('please join a voice channel first.')
            
  message.member.voice.channel.join().then(connection => {
    connection.play(ytdl('https://www.youtube.com/watch?v=uG45me0ekts&ab_channel=Impostor', { quality: 'highestaudio' }));

  });

its should work, i just dont know how to define the ytdl

fickle sapphire
#

const ytdl = require(‘ytdl-core’);

#

It is ytdl-core? Or not?

tardy hornet
#

i dont think so

#

@fickle sapphire

fickle sapphire
#

Then fill in between (‘’) what ytdl package you installed

tardy hornet
#

so then:

#

const ytdl = require(‘ytdl’);

#

?

#

@fickle sapphire

fickle sapphire
#

Yeah

tardy hornet
#

(node:16156) UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!

earnest phoenix
#

hello fellow programmers

#

it is i

#

a programmer

tardy hornet
#

(node:16156) UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!

i downloaded ffmpeg, still same error

feral aspen
#

is there a plugin for this picture for the files?

#

Like making a folder and there is a picture next to it.

#

What is the plugin called?

earnest phoenix
#

What is the plugin called?
@feral aspen visual studio code's features

feral aspen
#

What is the extension called?

earnest phoenix
#

What is the extension called?
@feral aspen visual studio code

#

Is there any list of fonts for canvas ?

shy steeple
#

What are good VPS'S

misty sigil
shy steeple
#

Thank you

#

AWS is bad for hosting bots?

misty sigil
#

it’s fine

earnest phoenix
#

AWS is bad for hosting bots?
@shy steeple yes

misty sigil
#

but if you get the free

#

no

shy steeple
#

hmm they have a 1 year trial I think

misty sigil
#

That’s shit tho

earnest phoenix
#

people mostly talk about the free versions so I said no for the free one

shy steeple
#

imma try galaxygate I have seen good reviews for that hostinf service

earnest phoenix
#

@shy steeple just use Vultr

shy steeple
#

Galaxy Gate or Vultr?

earnest phoenix
#

I'd say Vultr

misty sigil
#

Nah, galaxy gate

earnest phoenix
#

but use whatever is better in your opinion

#

it's your bot afterall

shy steeple
#

Whats average ping on vultr?

#

For bots

earnest phoenix
#

idk

shy steeple
#

ok

earnest phoenix
#

never used it but i like it

shy steeple
#

Interesting

earnest phoenix
#

There are some vps that 10£ or less for 1-2 gb/year

tardy hornet
#

(node:16156) UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!

i downloaded ffmpeg, still same error

uncut saffron
#

Hm

brisk jetty
earnest phoenix
#

@tardy hornet FFmpeg/avconv

#

Google it

#

Just like this
member.hasPermission('ADMINISTRATOR') ? '✅' : '❌'

hearty wren
#

Any way i could host my bot for free but not heroku?

misty sigil
#

no

#

all free hosts are probably gonna be shite

tardy hornet
#

Any way i could host my bot for free but not heroku?
@hearty wren gitHUB

slender thistle
hearty wren
#

My 'dyno' hours just ran out on heroku

#

But ty im gonna look into hosting on github

earnest phoenix
#

github isn't a host

#

lol

hearty wren
#

No shit

#

Is glitch any decent?

#

A vps? I have one but its 512 RAM lmfaooooo

earnest phoenix
#

no free host is decent

#

rent a vps

misty sigil
#

GLITCH

tardy hornet
#

i downloaded ffmpeg from google and npm i ffmpeg and its still giving me the error: (node:9252) UnhandledPromiseRejectionWarning: Error: FFmpeg/avconv not found!

misty sigil
#

npm i ffmpeg-static

#

iirc

tardy hornet
#

then it will work?

misty sigil
#

yes

tardy hornet
#

Error: Cannot find module '@discordjs/opus'

#

@misty sigil

misty sigil
#

install that then

tardy hornet
#

tyyyy

#

but

#
case 'pimpostor':
  if(!message.member.voice.channel) return message.channel.send('please join a voice channel first.')
            
  message.member.voice.channel.join().then(connection => {
    connection.play(ytdl('https://www.youtube.com/watch?v=uG45me0ekts&ab_channel=Impostor', { quality: 'highestaudio' }));
    message.member.voice.channel.leave()

  });
  break;

i want the bot to disconnect after he do that

misty sigil
#

make the voice channel join a variable

#

then you can do <variable>.on("end", () => {})

tardy hornet
#

oh

#

ty

#

so much

hearty wren
#

Cant even be poor in peace anymore

tardy hornet
#
 case 'leave':
          if (!message.guild.me.voice.channel) return message.channel.send('not in the voice channel');
          message.member.voice.channel.leave();
    break;

if in not in a vc and i type it he is crashing

opal plank
#

@misty sigil wait wot? channel is an event emitter?

misty sigil
#

no

#

since theres a connection

#

connection emits

opal plank
#

make the voice channel join a variable
then you can do <variable>.on("end", () => {})
sorry, caught this mid way and didnt read much context

#

just seemed weird the way its worded

misty sigil
#

yea

#

it did

opal plank
#

since channel isnt an emitter, and emitters need to be declared

misty sigil
#

i made a bingo number generator

opal plank
misty sigil
#

well you see

#

it looks like right shite rn

opal plank
#

bold of you to assume mine looked any good

opal plank
#

hmmm, i see what you mean now

misty sigil
tardy hornet
#

@misty sigil hey,

 case 'leave':
          if (!message.guild.me.voice.channel) return message.channel.send('not in the voice channel');
          message.member.voice.channel.leave();
    break;

if in not in a vc and i type it he is crashing

carmine summit
#

@hearty wren gitHUB
@tardy hornet Cwickks wants to know your location.

tardy hornet
#

wth

#

@carmine summit ........

carmine summit
#

I tihnk

#

github is only for

#

websites

#

hosting

tardy hornet
#

heroku

#

i think

#

but can you help me?

#
 case 'leave':
          if (!message.guild.me.voice.channel) return message.channel.send('not in the voice channel');
          message.member.voice.channel.leave();
    break;

if in not in a vc and i type it he is crashing

carmine summit
#

wdym .me?

tardy hornet
pale vessel
#

the bot as the guild member

tardy hornet
#

i saw the stream like 5h ago

#

you are still streaming that

pale vessel
#

nice

#

i forgot i'm streaming

tardy hornet
#

lol

#

can you see what is the problem?

carmine summit
#

I don't see why its not working

tardy hornet
#

@pale vessel

 case 'leave':
          if (!message.guild.me.voice.channel) return message.channel.send('not in the voice channel');
          message.member.voice.channel.leave();
    break;

if in not in a vc and i type it he is crashing

#

its working

#

but

pale vessel
#

what's the error?

tardy hornet
#

if in not in a vc and i type (prefix)leaveits crashing

carmine summit
#

if (!message.member.voice.channel) return message.channel.send('not in a voice channel')

pale vessel
#

he meant the bot i think

#

not the member

#

it's a leave command

tardy hornet
#

what's the error?
@pale vessel TypeError: Cannot read property 'leave' of null

pale vessel
#

member?

misty sigil
pale vessel
carmine summit
#

yeah

stuck scaffold
tardy hornet
stuck scaffold
#

if(user.hasPermission("KICK_MEMBERS")) {

pale vessel
#

is user a member?

#

it must be a member

carmine summit
#
if (message.member.hasPermission("KICK_MEMBERS")){
    console.log("Has permission")
} else {
  console.log("Doesn't have permission")
}
tardy hornet
pale vessel
#

message.guild.me.voice.channel

carmine summit
#
case 'leave':
          if (!message.member.voice.channel) return message.channel.send('You are not in a voice channel')
          if (!message.guild.me.voice.channel) return message.channel.send('The bot is not in a voice channel');
          if (message.guild.me.voice.channel.id !== message.member.voice.channel.id) return message.channel.send('You are not in the voice channel the bot is in')
          message.member.voice.channel.leave();
    break;
tardy hornet
#

instead of member?

pale vessel
tardy hornet
#

oh

carmine summit
#

So you want random people to just be typing ?leave randomly, then the bot will leave automatically without the person that ran the command, not in the same voice channel as the bot?

#

sorry grammar is not happy this days

#

ok

#

you checked for message.guild.me but you used message.member instead for leaving
@pale vessel now hes gonna get an error if someone typed the command, if the bot is not in a voice channel

upper current
#

is there a dedicated channel to ask for mongoDB help, or just ask here?

sacred cypress
#

@earnest phoenix

#

show me your find function

earnest phoenix
#

I'm not doing anything, the problem comes directly.

misty sigil
#

where are you using .find

earnest phoenix
#

how to do a action to vote a bot?

blissful coral
#

is there a dedicated channel to ask for mongoDB help, or just ask here?
@upper current here

earnest phoenix
#

okay I solved it

upper current
#

Having a hard time getting mongo to save when I try to add a qty. It logs properly with console log, but it won't actually go up in numbers in the DB

    const specificItem = inventory.items.questItems.find((obj) => obj.item === 'something');
    if (specificItem) {
        specificItem.qty++;
        await inventory.save()
    } else {
        inventory.items.questItems.push({
            item: 'something',
            qty: 1
        });
        await inventory.save();
    }
``` and i'm not sure what i'm doing wrong. but i've been at this for 3 or 4 days now and i'm getting highly discouraged.
#

And, ty Spooky.

heady heron
#

@pale vessel what u think of the feedback form lmao

pale vessel
#

that looks good

#

clean af

heady heron
#

tiem to start the website

tardy hornet
#

how do i make that if args[1] isnt a youtube link it will return?

boreal iron
#

Use regex.

carmine summit
#

how do i make that if args[1] isnt a youtube link it will return?
@tardy hornet if (message.content.includes(https://youtu)) return

boreal iron
#

Hmm and http or even without the protocol?

tardy hornet
boreal iron
#

With or without www

tardy hornet
#

its dont it green

carmine summit
#

''

#

add ' '

tardy hornet
#

oh right

carmine summit
#

How can I add a user cooldown to my command ?
@sand dune

//creates an array that includes all the members that recently "commanded"?
let x = []

//if the user id is in x
if (x.has(message.author.id)) return message.reply("a little too quick there.");

//if he is not in x
x.add(message.author.id);

//remove after 4000ms
setTimeout(() => {
  x.delete(message.author.id);
}, 4000);
boreal iron
#

Which will fail a hell lot of times but hey it’s ur code not mine.

carmine summit
#

dont add www

#
if (!args.length || !message.content.includes('https://youtu')) return
```Just add this on the first line of your command
blissful coral
#

Pretty sure you can just check if a message has a link

#

@tardy hornet it has to be in a string

#

// puts it to notes

carmine summit
#

Pretty sure you can just check if a message has a link
@blissful coral Then the bot may think that it is a youtube link if its not a youtube link??????

tardy hornet
#

its ok i worked it out

boreal iron
#

Which will return if you use any subdomain for example m.youtube... or an URL without protocol and it’s even not an URL to a video, just youtube.

blissful coral
#

Wdym cwicks

boreal iron
#

Use regex.

blissful coral
#

Oh only Youtube

carmine summit
#

ah yes

#

yeh

blissful coral
#

Yeah my b

carmine summit
#
if (!args.length || !message.content.includes('youtu')) return
#

there

blissful coral
#

If you want all links then do that haha not for this

#

Ehhhh

carmine summit
#

HAHHAHA

blissful coral
#

Because if someone says the word

#

??

carmine summit
#

yeah

blissful coral
#

Lmao

carmine summit
#

lmao

#

wait

blissful coral
#

You can do a array of different links that you want to do it on

#

And check for each one and if it finds one do whatever it does

boreal iron
#

Or just use regex (5th time now)

carmine summit
#
if (!args.length || (!message.content.includes('youtu') && !message.content.includes('https://'))) return
#

here

#

lol

blissful coral
#

Yeah use regex

#

Best way

boreal iron
#

And again with https protocol

#

The url works with the protocol as well or mobile links... whatever

carmine summit
#

Have you seen a youtube site that doesn't have a secure protocol?????????

#

Im sure yu haven't

#

ok bye

boreal iron
#

lol you don’t need the protocol

blissful coral
#

Lol

carmine summit
#

ah the expert is here lmao

earnest phoenix
#
message.content.match(/https?\:\/\/(youtube\.com|youtu\.be)\/(.*)/)``` regex time
boreal iron
#

Compared to the shit you argue, yes

misty sigil
#

regecs

#

regex is cool tho

boreal iron
#

If you’re able to understand it

misty sigil
#

hAh

blissful coral
#

Voltrex is here

earnest phoenix
#

ok

misty sigil
#

I can understand it slightly

blissful coral
#

Let him do it

#

Lmao

earnest phoenix
#

Regex is like letting your cat dance on your keyboard

boreal iron
#

lmao

blissful coral
#

Fr fr

earnest phoenix
#

I am using discord.py, and I want to repeat something every day at 12:00 AM.

blissful coral
#

Yo where that computer at voltrex kekw

earnest phoenix
#

How will i do this

blissful coral
#

Didn’t know cats dance on phones kekw

#

Jk jk

earnest phoenix
#

I don't want to check every x seconds that the time is 12:00 AM

#

Yo where that computer at voltrex kekw
@blissful coral Still not here, maybe here, just as transparent as my dad that left to buy milk and never came back, lol

blissful coral
#

Feel that

boreal iron
#
message.content.match(/https?\:\/\/(youtube\.com|youtu\.be)\/.*/)``` 
It’s not even needed to match the (.*) ... just .*
#

Darn markdown...

earnest phoenix
#

I know, just in case if you want to match what the video ID was

#

I am using discord.py, and I want to repeat something every day at 12:00 AM.
How will i do this

boreal iron
#

Great looks like u know how to use regex, God thanks at least one

carmine summit
#

@earnest phoenix Whats this?(.*)

earnest phoenix
#

Yea i've been working with regex a lot now

#

help pls

boreal iron
#

That’s a match

earnest phoenix
#

@carmine summit \.* means it matches many dots in a row, .* means that it matches everything in a row

carmine summit
#

why does it have to have *

boreal iron
#

(Group)

carmine summit
#

why the *

earnest phoenix
#

Read what i said

carmine summit
#

define row

boreal iron
#

. Matches any character (one character)

earnest phoenix
#

. matches "a" in "apple"
.* matches "apple" in "apple"

carmine summit
#

IT MAKES 0 SENSE

earnest phoenix
#

That's the whole meaning of regex

boreal iron
#

I’ve no words

earnest phoenix
#

It's something cool but makes no sense, regex™️

carmine summit
#

so .* is gonna search until the end?

faint prism
#

. Is a wildcard character

  • Is an amount
earnest phoenix
#

can someone help pls

faint prism
#
  • is EVERYTHING
carmine summit
#

I can understand everything else, BUT THIS (.*) MAKES 0 SENSE

boreal iron
#

It does if you wanna catch the match group

faint prism
#

It's a grouped pattern that matches any character that is zero or less, what's so hard to understand about it?

carmine summit
#

if its zero

#

why does it have to

#

be

#

included

faint prism
#

Because it's optional

carmine summit
#

so meaning you can just not include it?

faint prism
#

Some patterns aren't as regular like
Apple
Aple

#

Or Ale

#

/(Ap*le)/g

earnest phoenix
#

\\ <= special character escaper
* <= match everything after the preceded value
. <= matches everything
^ <= Checks if string starts with the given value
$ checks if string ends with the given value
? <= optional value
() <= groups
[] <= character groups

#

And many more

#

help pls

boreal iron
#

Helping... what do u need?

faint prism
carmine summit
#

ah

#

so

faint prism
#

Aple would match but I'm typoing this morning

carmine summit
#

"abbbbbbbbbbcd" => (b*) => "bbbbbbbbbb"

#

?

earnest phoenix
#

I am using discord.py, and I want to repeat something every day at 12:00 AM.

#

help pls

faint prism
#

That'll select the b's yeah

carmine summit
#

I am using discord.py, and I want to repeat something every day at 12:00 AM.
@earnest phoenix Same but im in discord.js

earnest phoenix
#

o nice

#

Js methods aren't same as py bruh @carmine summit

boreal iron
carmine summit
#

im using discord.js and i need help.
i want to set the bot status to the guild member count pls help:(
@earnest phoenix

client.user.setPresence({
    status: 'online',
    activity: {
      name: client.guilds.cache.size,
      type: 'PLAYING'
    }
  })
```CONGRATULATIONS YOU CLAIMED YOUR CODE OF THE YEAR, YOU CANNOT ASK ANYMORE QUESTIONS UNTIL 365 DAYS OR YOU WILL BE INSTANTLY BANNED
earnest phoenix
#
from datetime import datetime
from threading import Timer

x=datetime.today()
y=x.replace(day=x.day, hour=6, minute=32, second=0, microsecond=0)
delta_t=y-x

secs=delta_t.seconds+1

def hello_world():
    print("hello world") 
    #...

t = Timer(secs, hello_world)
t.start()

carmine summit
earnest phoenix
#

im using discord.js and i need help.
i want to set the bot status to the guild member count pls help:(
@earnest phoenix js <client>.user.setActivity(`${<client>.guilds.cache.filter(g => g.available).map(g => g.memberCount).reduce((a, b) => a + b).toLocaleString()} members`, { type: "WATCHING" })

#

this code is not working

#

Omg

#

Me typing: am i a joke to you

boreal iron
#

lmao

earnest phoenix
scenic spindle
#

Hello....can I join a clan

earnest phoenix
#

Clan?

boreal iron
#

Wrong channel, wrong Discord, wrong anything..

carmine summit
#

<client>.guilds.cache.filter(g => g.available).map(g => g.memberCount).reduce((a, b) => a + b).toLocaleString()
dUDE YOU CRAZY?

earnest phoenix
#

Yes i am, coding everything on mobile is crazy itself

#

Should this code be working?

from datetime import datetime
from threading import Timer

x=datetime.today()
y=x.replace(day=x.day, hour=6, minute=32, second=0, microsecond=0)
delta_t=y-x

secs=delta_t.seconds+1

def hello_world():
    print("hello world") 
    #...

t = Timer(secs, hello_world)
t.start()
scenic spindle
#

Forward assault is a game right?????

carmine summit
#

I DUNNO PYTHON

#

soz caps

earnest phoenix
#

Not the right place to discuss this @scenic spindle

#

oop

scenic spindle
#

I'm new plz guide me about it?

earnest phoenix
open rune
scenic spindle
#

Forward assault

earnest phoenix
#

This is development not a game guide

open rune
scenic spindle
#

Ok ...thanks by the way😊😢

boreal iron
#

Well back to Factorio I guess...

earnest phoenix
#

You set that in your main file

#

In the ready event

carmine summit
#

@earnest phoenix Can I see how you split you eval command then control it with reactions?

blissful coral
earnest phoenix
#

I use my own package

blissful coral
#

Lol

carmine summit
#

Dude you have a package?

earnest phoenix
#

Of course

carmine summit
#

kewl

blissful coral
#

Ofc why not

#

Who wouldn’t use there own bro

pearl trail
#

python pepowot

carmine summit
#

How many years of coding experience you have?

blissful coral
#

Python lulw

earnest phoenix
#

Name of it is string-toolkit btw, ads

blissful coral
#

Phone coding experience*

earnest phoenix
#

Infinity years

boreal iron
#

lmao

carmine summit
#

~2 months

#

ima cry now

pearl trail
#

coding on phone, op

earnest phoenix
#

Well i coded everything on mobile

misty sigil
#

ngl voltrex is better than me and he writes on phone oooooooooooh

pearl trail
earnest phoenix
#

Idk why did i went through hell

boreal iron
carmine summit
#

You gotta buy a laptop or smth

#

or just buy a bluetooth keyboard ffs

earnest phoenix
#

Everyone says that lol

misty sigil
#

I wanna see what voltrex could do on pc

pearl trail
#

more powerfull

earnest phoenix
#

News: voltrex hacked life and reprogrammed it

carmine summit
#

My bot is in 51 servers now

pearl trail
#

upload it in github, and everyone fork iy

carmine summit
#

and its still spagetthi code

pearl trail
#

it*

misty sigil
#

News: voltrex hacked life and reprogrammed it
@earnest phoenix changelog

  • removed covid
earnest phoenix
#

Changelog:

  • removed year 2020 because it was garbage
pearl trail
#
  • added 2020v2
earnest phoenix
#

Hell yea

#

Introducing 2020 v2

  • removed covid
  • added better memes
  • fixed discord staff
  • fixed discord mobile
  • fixed life
  • added back dev badge
  • turned mods from weebs to normal
carmine summit
#

plz voltrex bring back the badge

earnest phoenix
#

Dev badge?

carmine summit
#

yes please

earnest phoenix
carmine summit
#

uh

earnest phoenix
#

Mods watching be like: wtf is happening

slender thistle
#

Dev badge is just like your dad
Gone

pearl trail
earnest phoenix
#

Our dad is gone

slender thistle
#

On another note, yes

earnest phoenix
#

I don't speak java

opal plank
#

wait wtf

earnest phoenix
#

Yea but the oop usage in Java is fucking crazy

opal plank
#

i may have made an infinite-ish loop

solemn leaf
#

what we doing?

misty sigil
#

i may have made an infinite-ish loop
@opal plank how

earnest phoenix
#

We doin ur mom

vernal rivet
#

Java is a great language, but I can't say it is powerful. It's more great as a teaching tool.

solemn leaf
#

And im doing yours

#

Java isn't powerful

#

lmao

#

who would say that

earnest phoenix
#

development more like shitpost

sudden tulip
#
    @commands.command(hidden=True)
    @commands.is_owner()
    async def edit(self, ctx, user_id: int, total: int, count: int, last_time: int=None):
        """Edit a user's entry in the dict or add a new one"""
        if last_time:
            self.bot.count[user_id] = {"id": user_id, "total": total, "count": count, "last_time": last_time}
        else:
            self.bot.count[user_id] = {"id": user_id, "total": total, "count": count}
        await ctx.send("Done")

i have this code that works great but i dont have acess to my bot acct anymore is there a way to restrict to user id instead

vernal rivet
#

For someone that programs in multiple language, it's not as powerful as you would think it is

solemn leaf
#

Java is one of the of powerful out there right?

sudden tulip
earnest phoenix
#

Java is indeed powerful, just that it's syntax is cancer

solemn leaf
#

Korean maybe its just you

#

¯_(ツ)_/¯

vernal rivet
#

I mean it's powerful, but it's not as powerful as other ones

slender thistle
#

@sudden tulip use commands.check decorator or pass owner_id/ids to the bot object

opal plank
#

Ts for java

sudden tulip
#

what do you mean you don’t have your bot account anymore?
@swift umbra i dont remember the password, but my bot is on like 50 guilds

vernal rivet
solemn leaf
#

@opal plank javascript

#

lol

#

gottem

earnest phoenix
#

ts for java be like TypeJava

vernal rivet
#

Makes it more powerful

opal plank
#

Typeva?

vernal rivet
#

The fuck

opal plank
#

JavaScript => TypeScript
JaVa => TypeVa

makes sense to me

earnest phoenix
#

How to make discord bot in html

opal plank
#

i wonder if its doable with a macro though

sudden tulip
#

i exclusivly make my bot in ms excel 1998

opal plank
#

just use redirects

#

<hrefs>

vernal rivet
#

Wait you are joking about the case part FLdogekek . I don't think that is physically pissible

opal plank
#

setup a macro, and loop ACK's

solemn leaf
#

@earnest phoenix scripts

vernal rivet
#

Css*

opal plank
#

HTML bot, gg

pearl trail
#

html bot pepowot

solemn leaf
#

that would be funny

vernal rivet
#

Glass bot blobcatscared

earnest phoenix
#

Imagine if someone actually joined the chat and pulled out a bot made in html

pale vessel
#

well, html + js bot is possible

misty sigil
#

It’s possible

pearl trail
#

html only

earnest phoenix
#

html only bot is kinda easy

vernal rivet
#

I mean is using script tags consider pure html or not

misty sigil
#
earnest phoenix
#

script tags uses JavaScript inside so we don't touch those

vernal rivet
#

Yea

solemn leaf
#

OLOL

earnest phoenix
#

Can you imitate window.onload in node.js so it executes the code when the node console is ready?

solemn leaf
#

dont forget the intents @swift umbra

vernal rivet
#

But dude I want to see someone make a library for glass FLdogekek that would be hilarious

earnest phoenix
#

The hell is glass

vernal rivet
#

Look it up

#

Glass esloang

sudden tulip
#

brainfuck discord bot only

vernal rivet
#

Esolang*

pearl trail
#

Glass is an esoteric programming language developed by Gregor Richards in 2005. It combines an unintuitive postfix notation with heavy object-orientation, requiring extensive juggling of a main stack combined with its object-oriented structure.

vernal rivet
#

^^^^

pearl trail
sudden tulip
#

tf is esolang

earnest phoenix
#

is someone know how to get message author avatar url and get it in a embed in discord.js?

#

Imagine making a bot in binary

vernal rivet
#

It's so fucking bad

earnest phoenix
#

is someone know how to get message author avatar url and get it in a embed in discord.js?
@earnest phoenix js message.author.displayAvatarURL()

solemn leaf
#

@earnest phoenix ez pz

earnest phoenix
#

thanks

#

Use js MessageEmbed.setImage() to set it

#

Yea, it's even possible to make a bot in binary, well if you understand binary, hell

sudden tulip
#

wtf

vernal rivet
#

We are making fun of languages that shouldn't be used to make a discord bot.

earnest phoenix
#

@earnest phoenix Yes

vernal rivet
#

Lmao

sudden tulip
#

me n da boyz using asdf to make a discord bot

earnest phoenix
#

Since which dev was ever productive lol

sudden tulip
#

fax

earnest phoenix
vernal rivet
#

We should do bot dev in english lmao

earnest phoenix
#

Ah yes, me making a bot in baguette english

vernal rivet
#

Yes

sudden tulip
#

coding in arabic

#

gang gang

vernal rivet
#

Screw Js we do it in english

#

PandaSouless english is an actual esolang

solemn leaf
#

How can I start the html

#

h mmm

earnest phoenix
#

You start html just like you start a car

solemn leaf
#

npm start?

earnest phoenix
#

Put a key in it

solemn leaf
#

voltrex

sudden tulip
solemn leaf
#

can you link me to something

#

for making windows

umbral zealot
#

"making windows"?

sudden tulip
#

making windows

vernal rivet
#

Lmao peachy

earnest phoenix
#
const readline = require("readline");
readline.question(q, c);
TypeError: readline.question is not a function

w h a t

#

Idk man, want to recreate a new version of Windows?

sudden tulip
#

windows 11

#

confirmed

earnest phoenix
#

New windows 69420

sudden tulip
#

by head developer

earnest phoenix
#

@earnest phoenix is readline a class?

#

idk

#

oh wait

#

readline.createinterface

umbral zealot
#
const readline = require('readline');
const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout,
});
#

that's your start for readline

earnest phoenix
#

yeah

#

but i did this:

const readline = require("readline").createInterface({
    input: process.stdin,
    output: process.stdout
})

because i'm lazy to create a new variable for the interface

umbral zealot
#

¯_(ツ)_/¯

solemn leaf
#

@earnest phoenix something like electron

earnest phoenix
#

why do i randomly have discord.js webpack stuff open

carmine summit
#

I wish there is a coding language that is just english

pale vessel
#

it would be harder

earnest phoenix
#

CAN someone help me send an automated message at 9:00 AM?

pale vessel
#

because not everyone can gramMer

earnest phoenix
#

PLEASE

solemn leaf
#

@earnest phoenix if os.time

earnest phoenix
#

every signle day

solemn leaf
#

if process.time

earnest phoenix
#

kk

sudden tulip
#

when the bot turns on display "Playing Minecraft"

solemn leaf
#

idek

earnest phoenix
#

I wish there is a coding language that is just english
@carmine summit welcome to Python, one of the weirdest and coolest programming languages in the world whose syntax is similar to English

carmine summit
#

If someone said "?ping" , then say "pong".

sudden tulip
#

when the bot turns on display "Playing Minecraft"
@sudden tulip coding in english

earnest phoenix
#

If someone said "?ping" , then say "pong".
@carmine summit bruh

pearl trail
#

basic

pale vessel
#

basic is uhhh

solemn leaf
#

@earnest phoenix something like npm app but its broekn

sudden tulip
#

fuck u i make my bot in batch

earnest phoenix
#

The w o t

carmine summit
#

If someone said "?ping", Get the time on when the message is sent, then subtract it to the date now, then send it

pearl trail
#

imagine having a lot of commands without using command handler

carmine summit
#

E++

earnest phoenix
#

wait you can style text in web console API pogey

#

and one question

#

i have a code for eval thats doesnt work

#

i typing !eval client

#

imagine having a lot of commands without using command handler
@pearl trail Well i don't have a command handler because i coded the entire bot on mobile, managing them in mobile would be beyond hell

#

and doesnt work

#

the code is

#

i have a code for eval thats doesnt work
@earnest phoenix thank god at least nobody can wreck your bot using it

pearl trail
#

@pearl trail Well i don't have a command handler because i coded the entire bot on mobile, managing them in mobile would be beyond hell
Voltrex Master#0001 omg pepowot pepowot

earnest phoenix
#

When i get PC soon, i gotta rewrite the whole bot

#

E

pearl trail
#

aight, i'm going to sleep. cyaa

earnest phoenix
#

Cya

#

some people just try to make android fall on its knees
change my mind

carmine summit
#

Great, my nose is bleeding

earnest phoenix
#

@earnest phoenix Because it has way too many characters, it can't fit in one message

#

Great, my nose is bleeding
@carmine summit the inside of your mask is now BLOOD

#

You need a pagination system

#

You need a pagination system
@earnest phoenix no we need a pogey nation country

#

You need a pagination system
@earnest phoenix whats that?

#

pogey nation

#

yeah

sudden tulip
#

my kitten is vibin next to my laptop's vent for warmth

#

its pretty cute

#

ngl

earnest phoenix
#

Something that makes pages and reactions for you to interate through them without breaking the message

#

my kitten is vibin next to my laptop's vent for warmth
@sudden tulip lol but #general for cat talk

#

Something that makes pages and reactions for you to interate through them without breaking the message
@earnest phoenix ohh

sudden tulip
#

@earnest phoenix didnt even realise i was in this server

carmine summit
#
"url" is an API, get the data in it, then look into object, then data, then playerData, then send it here.
solemn leaf
#

I think I did it

carmine summit
#

englishScript

sudden tulip
#

i meant to go in my server

carmine summit
#

101

earnest phoenix
#

Also is it a dumb idea to make a node.js app that can do minecraft java edition shit even though javascript and java are step brothers that hate each other
Because I just did

sudden tulip
#

minecraft.js

earnest phoenix
#

no

carmine summit
#

actually i found an npm proj for that

earnest phoenix
#

minecraft.js
@sudden tulip i should literally name it that lol

#

among.us.js

sudden tulip
#

fallguys.js

carmine summit
#

among us is made of unity

earnest phoenix
#

Make gta v in js

#

actually i found an npm proj for that
@carmine summit thanks for ruining my motivation

sudden tulip
#

gtav.js

earnest phoenix
#

steam.js

#

among us is made of unity
@carmine summit wdym made of unity dumb crewmates just like to wander off from the group which breaks the unity

#

bruh

#

Ads

carmine summit
#

no ads

#

it not made me

earnest phoenix
#

<@&695153281105920070>

carmine summit
#

so no ads

modern sable
#

why

earnest phoenix
#

wait is that a Java emulator using JavaScript

carmine summit
#

bRuH

earnest phoenix
#

Why did you the ping community manager

#

that's not ads

#

he ads

#

but that ping is terrible

carmine summit
#

its not ads

#

its npm

earnest phoenix
#

mhm

#

@earnest phoenix pinging the whole staff for a single message wow

#

Whitename™️

#

pog

sudden tulip
#

whitename

carmine summit
#

Ads
@earnest phoenix goodjob

earnest phoenix
#

@earnest phoenix not white name @earnest phoenix

#

Modums™️

modern sable
#

-atmods @earnest phoenix applies for CMs aswell

gilded plankBOT
#

@earnest phoenix

Please do not mention (ping) more than one or two moderators for help, unless there is an emergency.

Here are some examples of emergencies:

  • Raids / Multiple members mass spamming.
  • Severe disruption of Discord's ToS (NSFW content, etc)
  • Anything that requires more than 2 moderators to handle.
earnest phoenix
#

now blue

#

@earnest phoenix goodjob
@carmine summit Not my problem

#

bruh

sudden tulip
#

this guy is smolbrain

earnest phoenix
#

alright I'm leaving the chat before I get demotivated more

sudden tulip
#

fs

carmine summit
#

so yeah

sudden tulip
#

and i think im smolbrain

carmine summit
#

there is an npm proj

earnest phoenix
#

change it to Malpiszon

carmine summit
#

for that

#

which is weird

#

af

earnest phoenix
#

thx

#

if you put the default before the cases in a switch statement will all of them execute the stuff inside the default because it's before the cases?

#

is someone has a eval code?

#

discord.js

#

@earnest phoenix spoonfeeding

#

Google exists

#

@earnest phoenix spoonfeeding
@earnest phoenix am not england boi

#

Search for it

#

am poland boi

#

Google exists
@earnest phoenix with all due respect fuck you

#

poland is pog

earnest phoenix
#

@earnest phoenix with all due respect fuck you
@earnest phoenix The hell did i do

misty sigil
#

now i need to put numbers on it

earnest phoenix
#

1

#

2

#

3

#

4

#

5

#

tell someone to copy paste code from google

misty sigil
#

@slender thistle ^

sudden geyser
#

make it a square this time jeremy

earnest phoenix
#

@earnest phoenix can you seriously stop you're not funny

#

k

#

I meant like search for it to learn how it's made

solemn leaf
#

vlotrex

earnest phoenix
#

I didn't say copy paste

misty sigil
#

make it a square this time jeremy
@sudden geyser im basing it off the bingo i'm used to

solemn leaf
#

how can I start a html file on localhost

earnest phoenix
#

🆗

misty sigil
opal plank
#

@misty sigil eeeey les gooo

slender thistle
#

🙃

misty sigil
#

i have the numbers ready

sudden geyser
#

thats an interesting bingo board

earnest phoenix
#

Uhh, you use VSC? @solemn leaf

opal plank
#

make it have words now so we can play #development bingo again

solemn leaf
#

yeah

earnest phoenix
#

@earnest phoenix 99% of people will still copy paste code even if you say don't copy paste code mate just look for how it's done
i can tell that from experience
because i copy paste code
sometimes

misty sigil
#

{one: {eighty:83, fifty:58, forty:' ', seventy:' ', singles:' ', sixty:69, ten:17, thirty:' ', twenty:28}, two: {…}, three: {…}}

#

69

earnest phoenix
#

@solemn leaf There's a vsc extension that can view html files live

#

W H A T

opal plank
#

thats precisely why i :
a) give Ts snippets
b) tell them the framework
c) give them a general explanation of how to accomplish what they need

solemn leaf
#

whats it called

opal plank
#

99.99999% of the time they just want spoonfeeding

solemn leaf
opal plank
#

liveshare >

earnest phoenix
#

thats precisely why i :
a) give Ts snippets
b) tell them the framework
c) give them a general explanation of how to accomplish what they need
@opal plank me and you are the best because we have brains wait tim does too 🙂

opal plank
#

lmao

#

helper role when?

earnest phoenix
#

DISCORD STOP CHANGING MY EMOTICONS TO REAL EMOJIS

opal plank
#

proficient too

umbral zealot
sudden geyser
#

try user settings > text & images

#

and the image above

earnest phoenix
#

does fs.existsSync support directories?

#

@solemn leaf It's called Live HTML Previewer

#

:)

solemn leaf
#

Live server

#

seems to be working

#

but it doesnt give me errors

#

grr

earnest phoenix
#

is callback hell good
because readline

#

No

opal plank
#

cant you promisify it?

earnest phoenix
#

readline takes only callbacks and i have to take multiple user inputs so i have to put callbacks inside callbacks

#

cant you promisify it?
@opal plank ...why?

opal plank
#

why not? rather than having it use a call back, have it return the value

solemn leaf
#
    <script>
        const discord = require("discord.js")
        const client = new Discord.Client({ "ws": { "intents": ["GUILDS", "GUILD_MESSAGES"] } });
        client.on("ready", async () => {
            client.user.setActivity("html", { type: 'WATCHING' });
        });

        client.login()
    </script>
earnest phoenix
#
require("util").promisify(<function>)``` @earnest phoenix
opal plank
#

actrually

#

hold the f up

#

existSync or readline?

earnest phoenix
#

callback hell is good for me because i don't need to use the variables outside the function

#

existSync or readline?
@opal plank fs.existSync does it take directories

opal plank
#

i think it resolves on any path, so yeah, it should

opaque seal
#

Has anyone here used Morphia before?

solemn leaf
#

Nope

#

you cant run discordjs in html

#

have to make own lib lmao

umbral zealot
#

There's no good reason to try to run discord.js directly in a browser.

earnest phoenix
#

Yea we were just making jokes lol, making a discord bot in html

solemn leaf
#

I bet you can

#

thou

umbral zealot
#

You can, there's a webpack version of discord.js, but the entire concept is preposterous.

opaque seal
#

Yeah html is a very good programming language

solemn leaf
#

You wouldn't actaully be using any html at that pint

earnest phoenix
#

Yea i mean you can make a bot in that but just for joke sake

solemn leaf
#

just scripts

opaque seal
#

Ik mate, it was a joke

earnest phoenix
#

Imagine running a bot that has thousands of guilds then saying it was made in html

#

Hilarious

solemn leaf
#

lol

opal plank
#

Imagine running a bot that has thousands of guilds then saying it was made in Scratch scratch

solemn leaf
#

just lie

#

LMFAO

#

stop

opal plank
#

actually, imma top that one up

#

Imagine running a bot that has thousands of guilds then saying it was made in Js and not Ts mmulu Ultimate shame right here

earnest phoenix
#

S(h)ame

#

why is it showing on the next line on the first question but after that everything is on the same line

#

lol

solemn leaf
#

scratch is like 12 years old

earnest phoenix
#

one question

#

how do i add a animated emoji

#

wut

#

???

#

to message

solemn leaf
#

ou hvae to get the id of it

earnest phoenix
#

<a:emoji_name:emoji_id>

#

with this a?

#

lol

opal plank
earnest phoenix
#

you can do \:emoji: on pc and it will give the thing to you

#

copy paste that thing in your message and it will show the emoji

#

no

#

i dont have nitro lol

#

non-nitro users can't do that

#

but bots can

#

but i have thats link

opal plank
#

fetch the guild list with the bot then

earnest phoenix
#

bots don't need nitro for anything
that's how NQN exists

#

@opal plank My god, yandere simulator code leaked

opal plank
#

lmao that one is a bit old

#

i think i even made it a tag

#

lemme check

#

yup

earnest phoenix
#

code913

#

in message i have checkmark Hi! with :

#

how to tag not mantioned

opal plank
#

message has payload for mentions

#

just do parse[]

#

OR

#

your lib likely has a method for it

earnest phoenix
#

whos that

opal plank
sudden tulip
#

still havent figured out how do go by id instead of owner

#
    @commands.command(hidden=True)
    @commands.is_owner()
    async def edit(self, ctx, user_id: int, total: int, count: int, last_time: int=None):
        """Edit a user's entry in the dict or add a new one"""
        if last_time:
            self.bot.count[user_id] = {"id": user_id, "total": total, "count": count, "last_time": last_time}
        else:
            self.bot.count[user_id] = {"id": user_id, "total": total, "count": count}
        await ctx.send("Done")
opal plank
#

thats the RAW way of doing it, but like i said, your library likely handles that for you with a handy method

earnest phoenix
#

code913
in message i have checkmark Hi! with :

#

but script is

#

thats the RAW way of doing it, but like i said, your library likely handles that for you with a handy method
@opal plank it's literally mentions: false inside the object as the second argument for TextChannel.send

#

iirc

#

msg.channel.send(:checkmark: Hi!)

opal plank
#

@earnest phoenix but they never mentioned which library

earnest phoenix
#

pog

opal plank
#

so i gave them the RAW method of disabling mentions

earnest phoenix
#

it's literally the RAW method for discord.js and 99% of people here use discord.js

opal plank
#

@misty sigil i hereby officially give you the right to make the next #development bingo

#

yeah, but in the offchance they are using another lib, i gave them the base

earnest phoenix
vernal rivet
#

my eyes

#

they are burning from looking at that

earnest phoenix
#

vpn?

opal plank
#

huh?

earnest phoenix
#

@earnest phoenix fucking explain me why you host your bot on a phone

#

I always use a vpn, nothing works here if you don't use a vpn god damnit

#

Vpn hell

misty sigil
#

@earnest phoenix KEK

opal plank
#

lul

vernal rivet
#

lol

earnest phoenix
#

@earnest phoenix fucking explain me why you host your bot on a phone
@earnest phoenix I host on a vps

misty sigil
#

u are smart voltrex

earnest phoenix
#

Code on mobile

sudden tulip
#

HOW TF DO U HOST ON A PHONE/HOW DO U CODE ON A PHONE

#

HOW

#

HOW TF!?!?

vernal rivet
#

thats smart to do

opal plank
#

auger does it

#

install linux, gg

vernal rivet
#

lol

sudden tulip
#

i can barely send a text

earnest phoenix
#

Well me going through hell is a common thing i guess

opal plank
#

if your phone is 2012+, chances are its capable of running a bot just fine

sudden tulip
#

what abt db on a phone

vernal rivet
#

what app are you using?

sudden tulip
#

bc my bot uses postgresql

opal plank
#

unless you doing some retarded shit like me and getting thousands of request per second

earnest phoenix
#

Me? @vernal rivet

sudden tulip
#

i mean

vernal rivet
#

who else is programming on mobile

sudden tulip
#

my bot is in 50 guilds

opal plank
#

prob be just fine

sudden tulip
#

to bad i cant fucking acess my bot acct

opal plank
earnest phoenix
#

Bot account?

sudden tulip
#

yea

vernal rivet
sudden tulip
#

the acct that has my bot

earnest phoenix
#

Self bot?

sudden tulip
#

no

opal plank
#

thats immoral as fuck

#

dont do it

vernal rivet
#

yes

opal plank
#

breaking the trust with your users

sudden tulip
#

selfbots are against tos

earnest phoenix
#

We know

sudden tulip
#

no the acct that has my bot

opal plank
#

a bot is a bot, period, they arent subscribing to your bot so you can spy on them

sudden tulip
#

huh!?

#

bruh