#development

1 messages · Page 561 of 1

cobalt dune
#

yea I know its gonna bite me in the ass someday but until it does I wont worry cause Im lazy .. but I think Im getting to the end of this one anyway since I have my other one that does more so we will see.

#

But thank you all for your help and support! I couldnt have done it probably without you

lofty hamlet
#

Why 🤔

inner jewel
#

because that's a function

#

not an array

lofty hamlet
#

🤔

#

So ?

inner jewel
#

functions don't have length

lofty hamlet
#

Because if my array has not result how should i send an error message?

inner jewel
#

you never get an array

patent reef
#

Anyone here use RethinkDB with node before?

lofty hamlet
#

Dresseur.Sac is my array @inner jewel

inner jewel
#

if (filterItems.length == 0)

#

filterItems is not an array

#

it will never have a length == 0

lofty hamlet
#

My code return the results of an array

#

I want if there is no result it sends a message

#

But if (filterItems.length == 0) return message.channel.sen("Erreur :Croix: : Aucun résultat") this line not work

inner jewel
#

go learn javascript

lofty hamlet
#

You did not understand

inner jewel
#

because filterItems is not an array

#

i did

#

you're the one not understanding

lofty hamlet
#

At worst I'll manage

#

thanks anyway

mellow isle
#

Extremely random but has anyone worked with RestSharp and sent a restRequest that has parameters replaced by AddUrlSegment, which then has an extra parameter BEFORE even doing any AddUrlSegment's?

#

For some reason my requests were coming back invalid and when I opened the object by breakpointing it I noticed the Parameters property contained 5 values instead of 4, the 0th value is the end of my URL and the 4th parameter I wanted to replace

#

I rewrote my bot to add polymorphism to it and for some reason it ends up like that, I mean since it's a list I can just delete it which is my temporary hack until I figure out what's going on with it

shy thistle
#

I need some help with my bot for discord when I node it it says Error: Cannot find module 'C:\Users\n---\bot.js'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:611:15)
at Function.Module._load (internal/modules/cjs/loader.js:537:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:801:12)
at executeUserCode (internal/bootstrap/node.js:526:15)
at startMainThreadExecution (internal/bootstrap/node.js:439:3) But I have the module. Can someone help please.

marble needle
#

are you opening your shell in the folder bot.js is in?

shy thistle
#

I am a total noob at scripting.

#

I don't know what a shell is..

marble needle
#

alright let's call it command prompt or console then, the thing you type your "node <file>" command into

shy thistle
#

yeah i know about that

marble needle
#

yea, have you tried opening that from the folder your bot is located in

shy thistle
#

i have a question

#

is a txt folder a module

topaz fjord
#

no

marble needle
#

what this error output tells you is that file file doesnt exist in the directory you used the node command in

shy thistle
#

ok

#

yes

#

but it does exist

marble needle
#

press shift+right click in the folder bot.js is in, you should see an option to open the command prompt from that folder in the little list that pops up

#

do that and then try to node bot.js

shy thistle
#

thanks

marble needle
#

alternatively you can just open the command prompt elsewhere and cd <file's directory> and then node bot.js

shy thistle
#

wont work

#

cd?

blazing star
#

how does that not work

marble needle
#

cd means change directory

shy thistle
#

and how do i do that exactly....

blazing star
#

...

shy thistle
#

i started coding today

marble needle
#

oh boy

shy thistle
#

and i cant do anything

blazing star
#

cd <path>

shy thistle
#

ok thanks

knotty steeple
#

hi

#

learn first

shy thistle
#

What is this At line:1 char:4

  • cd <New folder>
  • ~
    The '<' operator is reserved for future use.
    + CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : RedirectionNotSupported
blazing star
marble needle
#

lul

#

leave out the <>

shy thistle
#

what

knotty steeple
#

not to offend but ur joking saying you started coding today if you cant even use basic command prompt

shy thistle
#

ok

marble needle
#

cd path where path is your file's path

knotty steeple
#

cd C:\folder\my\bot\file\is\in

shy thistle
#

Set-Location : A positional parameter cannot be found that accepts argument 'folder'.
At line:1 char:1

  • cd New folder
  •   + CategoryInfo          : InvalidArgument: (:) [Set-Location], ParameterBindingException
      + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
lofty hamlet
#

@quartz kindle ?

#

For this :

marble needle
#

i knew this was gonna happen

knotty steeple
marble needle
#

alright, new approach

shy thistle
#

ok

knotty steeple
#

alright

#

new approach

#

get out of powershell

shy thistle
#

.

#

sure

knotty steeple
blazing star
#

oh no powershell

marble needle
#

open your folder in the file explorer (double click on it)
click on the bar at the top that window that has your folder's name
https://i.ryeqb.me/ea697975ea.png copy what's in there and use that as your path

shy thistle
#

sure'

marble needle
#

spoiler: the thing you will copy won't look like the one in my screenshot

#

make sure to open the folder your bot.js file is in

shy thistle
#

ok

cold niche
#

I need to make an RPC connection between the bot processes and I'd use a redis PUB/SUB channel for that

#

I'd make it JSON formatted which would contain a function call and a unique command identifier if I expect an output back from each process

#

the question is what is the most wise idea to capture all the outputs sent back from the processes?

shy thistle
#

Set-Location : A positional parameter cannot be found that accepts argument 'C:\Users\n---\Documents\New'.
At line:1 char:1

  • cd path C:\Users\n---\Documents\New folder
  •   + CategoryInfo          : InvalidArgument: (:) [Set-Location], ParameterBindingException
      + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
cold niche
#

I can only think of waiting for 1s and if I don't get back an output from one process then I display a timed out message for that process

#

as an example, shard latencies command where I want to list all the latencies

shy thistle
#

FINALLY

#

GOT IT RIGHT

#

I used the wrong command prompt.

blazing star
#

cool

shy thistle
#

ok

#

wait a second

#

let me check if my bot works

#

fucc np

marble needle
#

how can you use "the wrong command prompt"

shy thistle
#

fucc no*

#

eh

#

idk

#

seriously i just learned this froma video on how to make bots

#

from a*

blazing star
#

on windows there’s powershell and cmd prompt

marble needle
#

both works

shy thistle
#

cmd prompt worked tho

#

but the pwoershell did not

knotty steeple
#

@shy thistle stop

shy thistle
#

what

knotty steeple
#

learn a programming language

#

properly

shy thistle
#

ok then

knotty steeple
#

dont watch a fucking tutorial

#

either python or javascript

shy thistle
#

i cant go to lessons though

#

dont have the time

knotty steeple
#

too bad

mossy vine
#

you can learn from other websites

#

or read books

blazing star
#

sololearn is ok

mossy vine
#

sololearn is pretty decent

knotty steeple
shy thistle
#

thanks

#

wait a second

mossy vine
#

only teaches syntax tho, doesnt give actual programming knowledge

shy thistle
#

fuck

#

my bot is not online

blazing star
#

ok

knotty steeple
#
blazing star
#

no

#

code.org

shy thistle
#

oh hell no

#

well

#

im dead

lusty dew
#

How could I loop through every channel and change the permissions for that channel

#

I am doing this for a mute command

blazing star
#

don’t do that, just make a muteRole setting and when a user executes that command make it assign the mute role to the user who was muted

shy thistle
#

i give up

lusty dew
#

Um no

#

@blazing star I prefer the loop

#

K thx

hollow crag
#
const DBL = require('dblapi.js');

const dbl = new DBL("token", { webhookPort: 5555, webhookAuth: 'auth'});
dbl.webhook.on('ready', hook => {
  console.log(`Webhook running at http://${hook.hostname}:${hook.port}${hook.path}`);
});
dbl.webhook.on('vote', vote => {
    console.log(vote.type)
  //console.log(`User with ID ${vote.user} just voted!`);
});```
So I'm using this code with discord.js, and it's not registering votes or tests. Anyone have any idea why?
mossy vine
#

is your token set to your dbl token

hollow crag
#

yes

mossy vine
#

huh

quartz kindle
#

if you're not receiving votes, double check your webhook url

#

also check for possible firewalls

lusty dew
#

How could I loop through every channel and change the permissions for that channel
I am doing this for a mute command\

#

?*

mellow isle
#

in what language

marble needle
lusty dew
#

rewrite*

#

Also Rye love the pfp

marble needle
#

👌

blazing star
#

looping would be api abuse tho

#

if there’s a lot of channels

lusty dew
#

Eh

#

I hate roles though

#

:<

#

They bother me a fuck ton

#

Also, dyno manages to do it how come they aren't abusing the API

valid frigate
#

don't they have a mass role option

#

oh yeah some server i was in gave like 3500 people a role lmfao

lusty dew
#

Their mute cmd uses channel looping I think or idk how they doo it

#

but the mute cmd changes the channel permissions for the pinged person

valid frigate
#

a role named "muted" that overrides permissions

lusty dew
#

I haven't seen anyone get that role when I have muted them using dyno

valid frigate
#

hmm

#

i suppose it's easier if you want to end the mute early/if the bot dies

lusty dew
#

idk

#

Idc rn

hollow crag
#

is the 0.0.0.0 why?

#

it's not working?

earnest phoenix
#

you need a webserver to recieve webhook requests

#

0.0.0.0 specifically ties to your machine only

hollow crag
#

oh

#

well then

earnest phoenix
#

receive*

quartz kindle
#

dbl api creates a webserver for you

#

0.0.0.0 means receive connections from any ip address

#

but in your dbl edit page you need to use your machine's external ip address, not 0.0.0.0

hollow crag
#

All I know is that it isn't working 😭

#

Oh

#

I'm not selfhosting though

quartz kindle
#

your vps's external address then

hollow crag
#

Yay it works now! Thanks!

lusty dew
#

Ok

#

How could I use a role then to mute someone in every channel?

marble needle
#

well essentially you'd still be creating permission overrides on every channel but for the role itself which means that you'll only have to override channel permissions once to have the mute effect apply to anyone who gets the muted role instead of overriding permissions twice whenever you mute/unmute a single user

quaint beacon
#

My bot has a command for checking a table for the #th item in a table (the number is given by the user). If the bot finds the entry in the table, it will return info about the item in the table (name, time it was entered in, etc). However, when I run it, the bot doesn't send anything to the channel and I go in my console to find this: 2019-01-26 13:03:04 | [ERROR] | 400 - BAD REQUEST : POST https://discordapp.com/api/v7/channels/532127293452189696/messages
I'm using Discordia.

#

What does the error mean and how do I fix it?

marble needle
quaint beacon
#

oh

lost swallow
#
bot.on('guildCreate', (guild) => {
  const join_embed = new Discord.RichEmbed()
    .setFooter(`Made with ❤ by andre#1337 and the community!`)
    .setColor(65519)
    .setThumbnail(bot.user.avatarURL)
    .addField(`Thanks for inviting me!`, `I'm a multipurpose bot, with fun, economy and other miscellaneous commands. You can use me by doing m$command, or if you want to set your own prefix, do m$prefix newprefix. Do m$help to get started on the commands. I get updated very frequently, so expect minor downtimes here and there for new cool features! Have fun :)`, false)
    .setDescription("Announcement: Added per-server prefixes, Eco reset in 31st of January.")

  let message_channel = guild.channels.filter(c => c.permissionsFor(guild.me).has('SEND_MESSAGES')).id
  message_channel.send(join_embed);
});```
#

So i want the bot to send this message to the first channel with send messages permissions but im getting an error

#

and im smacking my head against the wall i tried so many different ways

marble needle
#

what are you adding the ".id" for

inner jewel
#
  1. no channel
  2. .id
lost swallow
#

someone told it could fix

inner jewel
#

you can't send messages to strings

marble needle
#

well that someone appears to have no clue

lost swallow
#

it sends to the first channel with send messages permissions

#

yeah i guess so

inner jewel
#

no

marble needle
#

it doesnt send anything

inner jewel
#

it tries to send to the id of the first channel

#

it's pretty much the same as "272764566411149314".send(...)

lost swallow
#

so i remove the .id

#

what now

marble needle
#

try running it heavythonk

lost swallow
#

well i did

#

like i said i tried multiple ways

quartz kindle
#

.filter() returns a collections of channels, not a single channel

#

use .find() to return a single channel

lost swallow
#

uhm im confused now

quartz kindle
#

you want channel.send()

lost swallow
#

yes

quartz kindle
#

if you use .filter() you get manychannels.send()

#

which doesnt work

lost swallow
#
 let message_channel = guild.channels.find(c => c.permissionsFor(guild.me).has('SEND_MESSAGES'))```
quartz kindle
#

filter gets you all channels that match your filter

#

yes, find gets you the first occurence

lost swallow
#

ok

#

let me test

#

OH also

#

it said message_channel.send is not a function

#
message_channel.send(join_embed);```
quartz kindle
#

after you changed it to find?

lost swallow
#

no after i removed the .id after the let message_channel = ...

quartz kindle
#

find will fix that

lost swallow
#

ok let me see

ruby dust
#

how bad is it by fetching offline members on startup?

quartz kindle
#

depends on the size of your bot

lost swallow
#

still the same error

quartz kindle
#

but can increase your ram usage and startup time

lost swallow
#
bot.on('guildCreate', (guild) => {
  const join_embed = new Discord.RichEmbed()
    .setFooter(`Made with ❤ by andre#1337 and the community!`)
    .setColor(65519)
    .setThumbnail(bot.user.avatarURL)
    .addField(`Thanks for inviting me!`, `I'm a multipurpose bot, with fun, economy and other miscellaneous commands. You can use me by doing m$command, or if you want to set your own prefix, do m$prefix newprefix. Do m$help to get started on the commands. I get updated very frequently, so expect minor downtimes here and there for new cool features! Have fun :)`, false)
    .setDescription("Announcement: Added per-server prefixes, Eco reset in 31st of January.")

  let message_channel = guild.channels.find(c => c.permissionsFor(guild.me).has('SEND_MESSAGES'))
  message_channel.send(join_embed);
});```
marble needle
#

try logging message_channel to see what it even gets you

lost swallow
ruby dust
#

ik about the RAM usage, but I wanted to know how exactly bad it will get, like 2-3 times more than without them

quartz kindle
#

then either your find function is wrong, or there isnt any channel with enough permissions

lost swallow
#

there is

#

i made a test server just to try it and the bot has the admin perms

ruby dust
#

also, don't the offline users get fetched at some point anyway when member update event fires up?

quartz kindle
#

they should get fetched as they appear online

#

if they never come online, i dont think so

lusty dew
#

I would create a role in a guild by doing ctx.guild.create_role right? discord.py rewrite

ruby dust
#

ok another thing, is it a good practice to have an infinite loop without sleeping at some point?

inner jewel
#

depends on the size of your bot and how many big guilds it has

#

depends on how long the loop runs

#

and what lang/runtime

#

eg if it's an event loop you should avoid infinite loops without yielding control back to the runtime

ruby dust
#

lets say to run through each member of each server (without interacting with them)

quartz kindle
#

@lost swallow i just tested the code here and it works

inner jewel
#

depends on size

#

and what you do in the loop

quartz kindle
#

can you try console.logging message_channel?

lost swallow
#

i did now

inner jewel
#

eg if you just loop every member without doing anything

#

it shouldn't take too long

lost swallow
#

and i cant see it all in putty

#

but its a long log

quartz kindle
#

weird, it should work then

ruby dust
#

but is it a good practice, like will that make it crash at some point?

lost swallow
#

how do i send the embed to the channel then?

#
guild.message_channel.send(join_embed);```
quartz kindle
#

try scrolling to the beginning, does it say "TextChannel" at some point?

inner jewel
#

it won't crash, but if you lock it too long (assuming event loop) it'd lead to disconnects

#

too long is about 60-90 seconds

#

for discord

lost swallow
#

because this is still saying send of undefined

#

like i said cant read it all in putty

#

let me remove the send

ruby dust
#

its not really an event, but more of a on_ready that triggers the infinite loop

quartz kindle
#

then try console.log(message_channel.type)

inner jewel
#

on python you have a GIL

#

so you can't lock for too long

ruby dust
#

and wdym by locking?

inner jewel
#

not returning

#
def x():
    while True:
        pass```
lost swallow
#

ok it says category

#

when i log using type

inner jewel
#

this would kill the whole process

#

since only one piece of python code can run

#

due to the GIL

quartz kindle
#

@lost swallow thats the problem then

#

you need to add a check in your find function to return only text channels, not category channels

inner jewel
#

(assuming cpython, other impls may or may not have a GIL)

ruby dust
#

actually on my other bot there is this infinite loop in on_ready that updates it's user status every 2 minutes, and it doesn't seem like it ever broke by running it for almost a week so far

quartz kindle
#

.find(c => c.permissionsFor(guild.me).has('SEND_MESSAGES') && c.type === "text")

lost swallow
#
let message_channel = guild.channels.find(c => c.permissionsFor(guild.me).has('SEND_MESSAGES'))```
inner jewel
#

if there is an await, it's a different case

ruby dust
#

ohh

inner jewel
#

because it's actually breaking the loop

ruby dust
#

ok, I finally get it

#

thanks

inner jewel
#

then returning

lost swallow
#

still same @quartz kindle

quartz kindle
#

console.log the channel type again

lost swallow
#

text now

#

but it doesnt want to send

quartz kindle
#

hmm thats weird

#

can i see your code again?

lost swallow
#
bot.on('guildCreate', (guild) => {
  const join_embed = new Discord.RichEmbed()
    .setFooter(`Made with ❤ by andre#1337 and the community!`)
    .setColor(65519)
    .setThumbnail(bot.user.avatarURL)
    .addField(`Thanks for inviting me!`, `I'm a multipurpose bot, with fun, economy and other miscellaneous commands. You can use me by doing m$command, or if you want to set your own prefix, do m$prefix newprefix. Do m$help to get started on the commands. I get updated very frequently, so expect minor downtimes here and there for new cool features! Have fun :)`, false)
    .setDescription("Announcement: Added per-server prefixes, Eco reset in 31st of January.")

  let message_channel = guild.channels.find(c => c.permissionsFor(guild.me).has('SEND_MESSAGES') && c.type === "text")
  console.log(message_channel.type)
});```
quartz kindle
#

well, you removed the send function

lost swallow
#

i did for the log

#

i used message_channel.send(join_embed);

quartz kindle
#

and still same error?

lost swallow
#

mhm

quartz kindle
#

i have no idea then lol

#

console.log(message_channel.id)

#

then try doing guild.channels.get(id).send(your embed)

#

where id is the id that comes up in your console

#

as a string, with quotes

lost swallow
#

But its for multiple guilds not only one

quartz kindle
#

yes, but just to test

earnest phoenix
trail trout
earnest phoenix
#

are you doing message_channel.send or guild.message_channel.send

#

@lost swallow

lost swallow
#

i tried bot

#

h

inner jewel
#

you won't find anything on google

#

that's not something simple

#

it's pretty much an unique implementation for every bot that does it

amber fractal
#

Would that need js?

quartz kindle
#

a dashboard for a bot?

trail trout
#

yes

quartz kindle
#

can be done in a gazilion languages

amber fractal
inner jewel
#

can be done with js, can be done without

#

the only hard requirement is an http server

quartz kindle
#

and basic knowledge of html/css

lusty dew
#

Discord.py rewrite:

How could I check if a role exists so it doesn't keep creating the same role everytime someone is muted

topaz fjord
#

could be done with dart mmLol

amber fractal
#

Im no python user, but try to get it first and if it doesnt exist, create it?

late nova
#

hi everyone, if my bot is hosted on glitch.com can webhooks work?

#

with dbl i mean

amber fractal
late nova
#

yeah i'm wonderiing too

#

what to use as URL for webhook

#

anyone?

quartz kindle
#

it should work

late nova
#

any idea on th url?

quartz kindle
#

glitch offers you a subdomain routed to port 3000 no?

late nova
#

cause when i test vote doesnt' come by

quartz kindle
#

check their docs

late nova
#

hmm ok let me see

#

doesn't seem to work

quartz kindle
#

your webhook has to be set to port 3000

late nova
#

ok but the url?

quartz kindle
#

iirc

#

have you found it in their docs?

late nova
#

don't really know i'm still looking

quartz kindle
prime cliff
late nova
#

nothing comes through with test

#

😦

quartz kindle
#

if i recall correctly, they redirect port 80 to 3000

#

you have to set port 3000 in your webhook code

#

not in the url

late nova
#

hmm

amber fractal
#

Try it without the :3000

late nova
#

yep no port works

#

thanks

bright spear
#

@earnest phoenix go to a computer and run enable-pnpm in the console

sturdy delta
#
const discord = require ('discord.js');
const filter = m => m.author.id === message.author.id;
class Game1Command extends commando.Command
{
    constructor(client)
    {
        super(client,{
            name: 'game1',
            group: 'games',
            memberName: 'game1',
            description: 'Try out Game 1 :D'
        });
    }

    async run(message, args)
    {
        message.channel.send('What is your name?')
        message.channel.awaitMessages(filter,{ 
            max: 1, time: 10000}).then(collected => {
        let answer1 = args[0];
        });
    }
}

module.exports = Game1Command;

console.log('Game1 command is online')``` how do i make the ``let answer1 = args[0]`` only work for the first question
quartz kindle
#

args here is coming from the original message

#

so it will be whatever you type in the original command

#

if you want the answer, you need to get it from the collected message

earnest phoenix
#

Would anyone be able to tell me why this doesn't send an embed

earnest phoenix
#

i'm trying to put avatar of the author in canvas so the avatar is invisible

#

someone can help me ?

#

@earnest phoenix const guildLog = new Discord.RichEmbed()

#

changed still doesn't

#

Do you have an error ?

#

In your console

#

no

#

wth

#

nope

#

Anyways someone ping me if you know what's wrong

earnest phoenix
gilded blaze
#

displayAvatarURL is not asynchronous, you don't need to await it

#

I don't think variables are ever asynchronous

sick cloud
#

even in master with it being a function it isn't async

crude portal
#

Hey, is there someway for client.on("messageReactionAdd", ... to track messages before the bot starts? Otherwise everytime the bot restarts there needs to be a new message

#

I'm trying to make a bot assign roles depending on reactions on a message

viral spade
#

how about checking the message object for the total number of reactions

crude portal
#

Do I do that under messageReactionAdd?

inner jewel
viral spade
#

you can do it anywhere. but it makes sense

crude portal
#

Ahhh thanks - I couldn't find the raw event in the docs

rugged terrace
#

Can someone help me with the API?
My code:

const request = require('request');

const options = {
  "Authentication": "TOKEN"
};

request.get('https://discordbots.org/api/bots/442184461405126656/votes', options, (e,r,b) => {
  console.log(b);
});

I get the error
{"error":"Unauthorized"}

viral spade
#

isnt it /stats?

rugged terrace
#

?

#

Oh i want to get the votes

viral spade
#

oh sory

#

does it work for updating stats?

#

the token?

rugged terrace
#

does that matter?

sick cloud
#

@rugged terrace its Authorization

#

wrong header name

rugged terrace
#

oh

#

ill try that

#

still doesnt work...

inner jewel
#

wrong token

#

that's your discord token

#

actually

#

nvm

rugged terrace
#

?

inner jewel
#

the pages look similar

#

stackoverflow says this

#
var options = {                 
  method: 'POST',             
  uri: 'http://your.url.com/',
  form: {                  
    field1: 'somevalue',               
    field2: 666.66  
    },                       
  headers: {               
    'Authorization': 'Basic ' + new Buffer("username:password").toString('base64')                  
  }
};                                         
request(options, function(error, response, body) {  
  // do stuff
})```
rugged terrace
#

?

#

ok

inner jewel
#

change as needed

rugged terrace
#

thanks

inner jewel
#

'Authorization': 'yourtoken'

rugged terrace
#

oooohhh

inner jewel
#

and change from post to get

rugged terrace
#

thsnks

#

@inner jewel Thanks its working

crude portal
#

What does client.emit(...) do?

inner jewel
#

fires an event

crude portal
#

It's not in the docs again

#

Thanks

#

Ohhhh

short sable
#

should i be concerned about this

#

or is it on discord's end

#

ive been having troubles with the bot losing connection to shards randomly

#

while remaining connected to others

blazing star
#

blame discord

#

the api has been fucked for a while

short sable
#

yeah it's been having a lot of issues it seems

#

i thought maybe the bot was growing too fast and i wasn't optimizing it enough or something

#

but it works perfectly for most of the day

#

then randomly does shit like this

idle mountain
#

I've noticed it as well

#

certain shards are lightning fast while others will take tens of seconds to respond

#

I usually just restart the bot when I notice it because that ends up fixing it for a few hours

crude portal
#
client.on("raw", packet => { // For messages no longer in cache (before bot start)
    if (!['MESSAGE_REACTION_ADD', 'MESSAGE_REACTION_REMOVE'].includes(packet.t)) return;
    const channel = client.channels.get(packet.d.channel_id);
    if (channel.messages.has(packet.d.message_id)) return;
    channel.fetchMessage(packet.d.message_id).then(message => {
        const emoji = packet.d.emoji.id ? `${packet.d.emoji.name}:${packet.d.emoji.id}` : packet.d.emoji.name;
        // This gives us the reaction we need to emit the event properly, in top of the message object
        const reaction = message.reactions.get(emoji);
        // Adds the currently reacting user to the reaction's users collection.
        if (reaction) reaction.users.set(packet.d.user_id, client.users.get(packet.d.user_id));
        if (packet.t === 'MESSAGE_REACTION_ADD') {
            console.log("RAW even emits MESSAGE_REACTION_ADD");
            client.emit('messageReactionAdd', reaction, client.users.get(packet.d.user_id));
        }
        if (packet.t === 'MESSAGE_REACTION_REMOVE') {
            console.log("RAW even emits MESSAGE_REACTION_REMOVE");
            client.emit('messageReactionRemove', reaction, client.users.get(packet.d.user_id));
        }
    });
});
#

It only console.logs once

valid frigate
#

all right so

#

it's been a while since i've made a new bot iteration, so should i use npm or yarn?

#

looking for reasons to use both here, but i'm interested in trying out yarn

crude portal
#

npm is definitely a lot more popular now

valid frigate
#

hmm

sick cloud
#

this module i use has a callback, how do i convert it to return a promise?

valid frigate
#

wasnt there some module called promisify or is that something else

inner jewel
#

return new Promise((resolve, reject) => functionWithCallbacks((res, err) => err ? reject(err) : resolve(res)))

lusty dew
#

Does anyone know a good free VPS

#

lol

sick cloud
#

no such thing

pseudo lion
#

@lusty dew I know only Heroku and Glitch

sick cloud
#

they aren't good

#

and they aren't VPSes

lusty dew
#

🤷

#

I just need something other then my computer

#

My PC can't handle the self hosting

pseudo lion
#

@lusty dew One time u can use thia resources,when u dont buy VPS hosting

lusty dew
#

?

lusty dew
#

@pseudo lion Hm?

pseudo lion
#

What? :d

earnest phoenix
#

@lusty dew hi, may I recommend host?

lusty dew
#

@earnest phoenix Sure

earnest phoenix
#

DigitalOcean, OVH, Scaleway, AWS, Google Cloud

last two offer trial periods

#

DigitalOcean have trial

velvet chasm
#

I need some help!

  client.on("voiceStateUpdate", async (message, oldMember, newMember) => {
    const log = message.guild.channels.find(ch => ch.name === 'bot-voice-log');
    let newUserChannel = newMember
  let oldUserChannel = oldMember.voiceChannel
      if (!log) return;
  if(oldUserChannel !== undefined && newUserChannel === undefined) {
                                        var logembed = new Discord.RichEmbed()
            .setTitle('voice log')
                .setDescription(`**${oldMember} just enter to <#${oldMember.voiceChannel.id}>!!**`)
                 .setFooter(`log`)
                .setTimestamp()
            log.send(logembed);
  } else{
    
                          var logembed2 = new Discord.RichEmbed()
            .setTitle('voice log')
                .setDescription(`**${oldMember} just left voice channel**`)
                 .setFooter(`log`)
                .setTimestamp()
              log.send(logembed2);
            }
        })

i want just logging user join or left the voice channel
but it logging user mic update too..
how can i fix it T.T

marble needle
#

let newUserChannel = newMember you're not even getting the voicechannel of newMember

velvet chasm
#

oh.. but if i delete let newUserChannel = newMember
how can remake it..?

quartz kindle
#

voiceStateUpdate doesnt have message

#

only oldmember and newmember

velvet chasm
#

um... but
if i don't write message
how can i send log..?

quartz kindle
#

get the guild from member

velvet chasm
#

um.. i can't understand..

#

can you give me some ex..?

quartz kindle
#

oldmember.guild.channels

#

or newmember.guild.channels

#

both work

#

also, voiceStateUpdate checks user join/leave and also user mute/unmute

velvet chasm
#

i want fix that..

quartz kindle
#

so your else needs to be more specific

#
if(newuser && !olduser) {
    // joined
} else if(!newuser && olduser) {
    // left
}```
velvet chasm
#

um.. can i ask Other(?) question?

quartz kindle
#

sure

velvet chasm
#

const log = oldMember.guild.channels.find(ch => ch.name === 'log-channel');
can(?) work?

quartz kindle
#

yes

velvet chasm
#

i have another error
it isn't send log..
but thx a lot T.T
have a nice day!!

quartz kindle
#

what error?

velvet chasm
#
 bot.on("voiceStateUpdate", async (oldMember, newMember) => {
    const 로그 = oldMember.guild.channels.find(ch => ch.name === 'w봇-보이스1로그');
       if (!로그) return;
if(newMember && !oldMember) {
                                          var logembed = new Discord.RichEmbed()
            .setTitle('음성로그')
                .setDescription(`**${oldMember}님이 <#${oldMember.voiceChannel.id}>를 들어가셨습니다.**`)
                 .setFooter(`WBOT 로그`)
                .setTimestamp()
            로그.send(logembed);
} else if(!newMember && oldMember) {
                            var logembed2 = new Discord.RichEmbed()
            .setTitle('음성로그')
                .setDescription(`**${oldMember}님이 통화방을 나가셨습니다.**`)
                 .setFooter(`WBOT 로그`)
                .setTimestamp()
              로그.send(logembed2);
}
  })

it isn't send log..
((sorry to not translate(?) korean to english

quartz kindle
#

newmember and oldmember must be the voice channel

#

newMember.voiceChannel && !oldMember.voiceChannel

velvet chasm
#

oh
it means
fix it like

  bot.on("voiceStateUpdate", async (oldMember, newMember) => {
    const 로그 = oldMember.guild.channels.find(ch => ch.name === 'w봇-보이스1로그');
       if (!로그) return;
if(newMember.voiceChannel && !oldMember.voiceChannel) {
                                          var logembed = new Discord.RichEmbed()
            .setTitle('음성로그')
                .setDescription(`**${oldMember}님이 <#${oldMember.voiceChannel.id}>를 들어가셨습니다.**`)
                 .setFooter(`WBOT 로그`)
                .setTimestamp()
            로그.send(logembed);
} else if(!newMember.voiceChannel && oldMember.voiceChannel) {
                            var logembed2 = new Discord.RichEmbed()
            .setTitle('음성로그')
                .setDescription(`**${oldMember}님이 통화방을 나가셨습니다.**`)
                 .setFooter(`WBOT 로그`)
                .setTimestamp()
              로그.send(logembed2);
}
  })

it?

quartz kindle
#

or do something like

let new = newMember.voiceChannel
let old = oldMember.voiceChannel

if(new && !old) ...```
#

yes that should work

velvet chasm
#

um.. error..

quartz kindle
#

what error?

velvet chasm
#

it can't find id

quartz kindle
#

!oldMember.voiceChannel means there is no voice channel

#

no voice channel, no id

velvet chasm
#

oh

quartz kindle
velvet chasm
#

yes it is

#

but i need logging channel name or id too..

quartz kindle
velvet chasm
quartz kindle
#

no

#

oldMember.voiceChannel doesnt exist

#

because user just joined

#

id did not have a voicechannel before

velvet chasm
#

oh

quartz kindle
#

so you have to use newMember, not oldMember

#

to get the name of the voice channel they just joined

velvet chasm
#

oh i got it

#

thx so much Tim T.T
can i be your friend?

quartz kindle
#

¯_(ツ)_/¯

#

lol

earnest phoenix
#

no

velvet chasm
#

T.T

quartz kindle
#

you can add me as friend, but i dont help in dms

velvet chasm
#

okay!

lofty hamlet
#

Hi i have a big problem

#

Crash when the user give a number bigger than 1024 the limit of carachter

#

How can I avoid that?

blazing stratus
#

deddeerdv

#

deddeerdv

#

deddeerdv

earnest phoenix
#

don't allow >1024 chars...?

lofty hamlet
#

@earnest phoenix ?

#

What ?

soft plaza
#

Substr 1, 1000

lofty hamlet
#

🤔

#

I go look

#

I don't understand everythink you can explain me @soft plaza ? I have to do what ?

soft plaza
#

Tu dois couper la taille du texte

lofty hamlet
#

Because i test : if (achievement1.lenght > 1000) return

#

Ah tu es francais ?

soft plaza
#

Ouais

lofty hamlet
#

Ok ok

soft plaza
#

Le texte que tu essaye d'envoyer est trop long, donc tu doit le couper

#

Je t'ai donné un lien pr la ressource mdn

#

Tu coupe de l'index 0 à 1000 ou 1024

#

Comme ça tu peut envoyer ton texte

lost swallow
#
var Discord = require("discord.js");
var cfg = require("../cfg/cfg.json");
var quick = require("quick.db")
exports.run = async (bot, message, args) => {
    try {
        if (message.author.id !== cfg.ownerID) {
            message.channel.send(`You cannot run this command`);
        } else {
            let new_announcement = args.slice(0).join(" ");
            if (!new_announcement) return message.channel.send(":x: Please, provide the new announcement!");
            var output = await quick.set(`join.announcement`, `${new_announcement}`)
            message.reply(`The announcement was successfully changed to ${new_announcement}`)
        } catch (e) {
            console.log(`Command error ${exports.help.name} >> ${e}`)
        }
    }
}

exports.help = {
    name: "setannouncement"
};```
#

unexpected token catch

soft plaza
#

You have to close your else and your try before adding the catch

#
try {
  if() {
} else {
} 
} catch(e) {console.error(e) }
lost swallow
#
var Discord = require("discord.js");
var cfg = require("../cfg/cfg.json");
var quick = require("quick.db")
exports.run = async (bot, message, args) => {
    try {
        if (message.author.id !== cfg.ownerID) {
            message.channel.send(`You cannot run this command`);
        } else {
            let new_announcement = args.slice(0).join(" ");
            if (!new_announcement) return message.channel.send(":x: Please, provide the new announcement!");
            var output = await quick.set(`join.announcement`, `${new_announcement}`);
            message.reply(`The announcement was successfully changed to ${new_announcement}`);
        }
    }
} catch (e) {console.log(`Command error ${exports.help.name} >> ${e}`)}

exports.help = {
    name: "setannouncement"
};```
soft plaza
#

Almost it, just stay in your function

lost swallow
#

uhm

soft plaza
#
var Discord = require("discord.js");
var cfg = require("../cfg/cfg.json");
var quick = require("quick.db")
exports.run = async (bot, message, args) => {
    try {
        if (message.author.id !== cfg.ownerID) {
            message.channel.send(`You cannot run this command`);
        } else {
            let new_announcement = args.slice(0).join(" ");
            if (!new_announcement) return message.channel.send("❌ Please, provide the new announcement!");
            var output = await quick.set(`join.announcement`, `${new_announcement}`);
            message.reply(`The announcement was successfully changed to ${new_announcement}`);
        }
    }catch (e) {console.log(`Command error ${exports.help.name} >> ${e}`)}
} 
exports.help = {
    name: "setannouncement"
};```
lost swallow
#

ooooh

#

thanks for the help man!

soft plaza
#

👌

lost swallow
#

its working perfectly now

#

im using quick.db for that btw

keen drift
soft plaza
#

-botinfo @steady ruin

gilded plankBOT
#
Bot info
ID

507328928411680768

Username

Marvin

Discriminator

2789

Short Description

A multipurpose fun bot!

Library

discord.js

Prefix

m$ Global Prefix, m$prefix newprefix to set your own

Total Upvotes

4

Monthly Upvotes

3

Server Count

No server count

Owner(s)

@lost swallow

lost swallow
#

uhm

#
Uncaught Exception:  Error: Cannot find module 'ytdl'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:603:15)
    at Function.Module._load (internal/modules/cjs/loader.js:529:25)
    at Module.require (internal/modules/cjs/loader.js:657:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at Object.<anonymous> (./commands/play.js:2:14)
    at Module._compile (internal/modules/cjs/loader.js:721:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:732:10)
    at Module.load (internal/modules/cjs/loader.js:620:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:560:12)
    at Function.Module._load (internal/modules/cjs/loader.js:552:3)
    at Module.require (internal/modules/cjs/loader.js:657:17)
    at require (internal/modules/cjs/helpers.js:20:18)
    at cmds.forEach (./bot.js:50:21)
    at Array.forEach (<anonymous>)
    at fs.readdir (./bot.js:49:8)
    at FSReqCallback.args [as oncomplete] (fs.js:146:20)
#

i have ytdl installed

#
const Discord = require("discord.js");
const ytdl = require("ytdl");
exports.run = async (bot, message, args) => {
    if (!message.member.voiceChannel) return message.channel.send(':no_entry_sign: Please join a voice channel.');
    if (message.guild.me.voiceChannel) return message.channel.send(':no_entry_sign: Error, the bot is already connected to another music channel or a song is playing.');
    if (!args[0]) return message.channel.send(':no_entry_sign: Error, please enter a **URL** following the command.');

    let validate = await ytdl.validateURL(args[0]);

    if (!validate) return message.channel.send(':no_entry_sign: Error, please input a __valid__ url following the command.');

    let info = await ytdl.getInfo(args[0]);

    let connection = await message.member.voiceChannel.join();
    let dispatcher = await connection.playStream(ytdl(args[0], {
        filter: 'audioonly'
    }));

    let playembed = new Discord.RichEmbed()
        .setTitle("Now playing")
        .setDescription(`${info.title}`)

    message.channel.send(playembed);
}

exports.help = {
    name: "play",
};```
lofty hamlet
earnest phoenix
#

Hey anyone can give me a example of music bot in python

lofty hamlet
#

@quartz kindle ?

#

You can help me p;lz ?

quartz kindle
#

hmm?

lofty hamlet
#
NebulusAujourd'hui à 14:05
Hi i have a big problem
My command https://hastebin.com/fajuzicili.js
Crash when the user give a number bigger than 1024 the limit of carachter
How can I avoid that?```
keen drift
#

truncate it? lmao

lofty hamlet
#

What ?

amber fractal
#

A number bigger than 1024 characters isnt even named yet

quartz kindle
#

what do you mean number bigger than 1024, like 1025 or like 1024 characters

lofty hamlet
#
                             ^

RangeError: RichEmbed field values may not exceed 1024 characters.
    at RichEmbed.addField (/home/Akimitsu_Dev/node_modules/discord.js/src/structures/RichEmbed.js:157:36)
    at Object.channellogs (/home/Akimitsu_Dev/function.js:21:14)
    at Client.client.on.message (/home/Akimitsu_Dev/pokemon.js:3160:22)
    at emitOne (events.js:116:13)
    at Client.emit (events.js:211:7)
    at MessageCreateHandler.handle (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
    at WebSocketPacketManager.handle (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:103:65)
    at WebSocketConnection.onPacket (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
    at WebSocket.onMessage (/home/Akimitsu_Dev/node_modules/ws/lib/event-target.js:120:16)
error: Forever detected script exited with code: 1
error: Script restart attempt #1
/home/Akimitsu_Dev/function.js:28``` error if i use my command with too much caracters :
#

Bah si je rentre ?gift @Nebulus 184467440737095516158364274623846237462834672346843623745673245283452378453278457234527384523784532745237452374852387453278452387453458475238745238745375422374628346723468436237456732452834523784532784572345273845237845327452374523748523874532723746283467234684362374567324528345237845327845723452738452378453274523745237485238745327237462834672346843623745673245283452378453278457234527384523784532745237452374852387453272374628346723468436237456732452834523784532784572345273845237845327452374523748523874532723746283467234684362374567324528345237845327845723452738452378453274523745237485238745327237462834672346843623745673245283452378453278457234527384523784532745237452374852387453272374628346723468436237456732452834523784532784572345273845237845327452374523748523874532723746283467234684362374567324528345237845327845723452738452378453274523745237485238745327237462834672346843623745673245283452378453278457234527384523784532745237452374852387453272374628346723468436237456732452834523784532784572345273845237845327452374523748523874532723746283467234684362374567324528345237845327845723452738452378453274523745237485238745327237462834672346843623745673245283452378453278457234527384523784532745237452374852387453272374628346723468436237456732452834523784532784572345273845237845327452374523748523874532723746283467234684362374567324528345237845327845723452738452378453274523745237485238745327237462834672346843623745673245283452378453278457234527384523784532745237452374852387453272374628346723468436237456732452834523784532784572345273845237845327452374523748523874532723746283467234684362374567324528345237845327845723452738452378453274523745237485238745327237462834672346843623745673245283452378453278457234527384523784532745

amber fractal
#

Yea

keen drift
#

ok, don't make it exceed?

#

lmao

quartz kindle
#

lmao

amber fractal
#

But that number isnt even named mmLol

keen drift
#

peak iq hours

amber fractal
#

If anyone passes it with your bot, you should be real happy they use it for that long

quartz kindle
#

there is no embed in the code you sent

lofty hamlet
#

If a person finds the flaw he can crash my bot no matter when

keen drift
#

s0 d0n't make 8t ex8ceed

lofty hamlet
#

?

quartz kindle
#

its an embed range error, but the code you posted has no embeds in it

lofty hamlet
#

I have aldready test : if (achievement1.lenght > 1024) return

amber fractal
#

if(achievement1.length > 1024)?

lofty hamlet
#

But he don't <ork

amber fractal
#

Ok

quartz kindle
#

you cant use .length on numbers

lofty hamlet
#

@quartz kindle but it is the error ...

#

I cna use why so ?

quartz kindle
#

you have to use it before you convert into a number

lofty hamlet
#

mmmmhhh

earnest phoenix
#

the compiler doesn't complain because js is rarted

quartz kindle
#

also, why do you have a parseInt in there doing nothing?

amber fractal
#

Just use .toString()

earnest phoenix
#
bot.on("guildCreate", async(guild) => {
  const { WebhookClient, RichEmbed } = require('discord.js');
  let webhook_url = 'https://discordapp.com/api/webhooks/538905072629973012/onhVaPEIrj4TC6Jca4NBgKtZZavjEgkBPtUDHAkz9f64tauEWAfSFwVhe3dfIDJubXW';
  const guildWebhook = new WebhookClient(webhook_url.split('/').slice(5)[0], webhook_url.split('/').slice(5)[1]);
  let users = guild.members.filter(u => !u.user.bot).size;
  let bots = guild.members.filter(u => u.user.bot).size;
  const guildLog = new RichEmbed()
  .setAuthor(guild.name, guild.iconURL({ format: 'png' }))
  .setTitle(`Joined a new server!`).setURL(`https://discordbots.org/bot/522771517365420032/vote`)
  .setColor('#ED1B24')
  .addField('ID', `${guild.id}`, true)
  .addField('Members', `${users} user${users > 1 ? 's' : ''} **|** ${bots} bot${bots > 1 ? 's' : ''}`, true)
  .addField('Owned by', `${guild.owner.user.tag} [\`${guild.ownerID}\`]`)
  .setTimestamp()
  guildWebhook.send(guildLog);
});
amber fractal
#

.toString().length()

earnest phoenix
#

Why is this not sending

lofty hamlet
#

hum

amber fractal
#

thats a token for a webhook

#

Nice

earnest phoenix
#

Will change later

quartz kindle
#

why use toString when the input is already a string? lmao

amber fractal
#

He converted it to a number

quartz kindle
#

just do it before conveting

lofty hamlet
#

So I have to do a how?

amber fractal
#

Either way works mmLol

quartz kindle
#

also remove this parseint lmao

lofty hamlet
#

Ok

#

I remove this

#

It's good

knotty steeple
#

thanks for that token

lofty hamlet
#

Then ?

earnest phoenix
#

np

lofty hamlet
#

@earnest phoenix what token ?

quartz kindle
#

anyway nebulus, did you understand?

#

you have to check the .length before converting to a number

earnest phoenix
#

it was a token to a webhook

#

scroll up My webhook isn't responding

lofty hamlet
#

How am I doing this? @quartz kindle ?

quartz kindle
#

.>

keen drift
lofty hamlet
#

Because I already did: if (achievement1.lenght > 1024) return

quartz kindle
#

because you made achievement1 into a number

lofty hamlet
#

Mmmmmhhh

#

Yes

#

Ah ok

quartz kindle
#
let achievement1 = Number(args.join("")) // achievement1 is a number```
lofty hamlet
#

Yes yes

earnest phoenix
#

why not simply not allow such ridicilous numbers

lofty hamlet
#

So

quartz kindle
#

so either check the length of the args.join() or make a new variable to save args.join() in

amber fractal
#

10^1023 mmLol

lofty hamlet
#

Mmmmmhhhh

earnest phoenix
#
bot.on("guildCreate", async(guild) => {
  const { WebhookClient, RichEmbed } = require('discord.js');
  let webhook_url = 'https://discordapp.com/api/webhooks/538905072629973012/onhVaPEIrj4TC6Jca4NBgKtZZavjEgkBPtUDHAkz9f64tauEWAfSFwVhe3dfIDJubXW';
  const guildWebhook = new WebhookClient(webhook_url.split('/').slice(5)[0], webhook_url.split('/').slice(5)[1]);
  let users = guild.members.filter(u => !u.user.bot).size;
  let bots = guild.members.filter(u => u.user.bot).size;
  const guildLog = new RichEmbed()
  .setAuthor(guild.name, guild.iconURL({ format: 'png' }))
  .setTitle(`Joined a new server!`).setURL(`https://discordbots.org/bot/522771517365420032/vote`)
  .setColor('#ED1B24')
  .addField('ID', `${guild.id}`, true)
  .addField('Members', `${users} user${users > 1 ? 's' : ''} **|** ${bots} bot${bots > 1 ? 's' : ''}`, true)
  .addField('Owned by', `${guild.owner.user.tag} [\`${guild.ownerID}\`]`)
  .setTimestamp()
  guildWebhook.send(guildLog);
});```
#

It's not sending the webhook and it's not giving me an error

lofty hamlet
#

@quartz kindle how should I do this? beacause i defined already achievement in number

amber fractal
#

can you try logging guildWebhook?

quartz kindle
#

have you tried sending a normal string instead of an embed?

#

have you tried hardcoding the webhook id and token instead of spliting it from the url?

earnest phoenix
#

no

lofty hamlet
#

How should I do this? beacause i defined already achievement in number?

amber fractal
#

do it before you make it a number

lofty hamlet
#

Except that before a number the variable will not be defined

quartz kindle
#

achievemt1 is not defined, but how did you define it?

#

you have args

#

and you have args.join

#

define a new one that is not a number

lofty hamlet
#

? - ?

#

I don't understaznd ....

quartz kindle
#

.>

amber fractal
#

do the same thing without the Number() part

#

thats what is turning it into a number

lofty hamlet
#

I have change : var achievement1 = args.join("")

#

And add : if (achievement1 > 800) return message.channel.send("No")

earnest phoenix
amber fractal
#

Well it isnt mmLol

quartz kindle
#
args // array
args.join("") // string
Number(args.join("")) // number
let a = args // a is an array
let a = args.join("") // a is a string
let a = Number(args.join("")) // a is a number```
lofty hamlet
#

?

amber fractal
#

You're passing ({format: 'png'}) into it when it's not a function

lofty hamlet
#

@quartz kindle i just don't understand you can edit my code and explain me ?

#

Quickly done

earnest phoenix
#

yeah idk what to do to fix this Steven

amber fractal
#

Make it not a function

inner jewel
#

not call something that's not a function

earnest phoenix
#

how

inner jewel
#

easy

quartz kindle
#
args.length // length of array
args.join("").length // length of string
Number(args.join("")).length // undefined, numbers dont have length
let a = args;
a.length // length of array
let a = args.join("");
a.length // length of string
let a = Number(args.join(""));
a.length // undefined, numbers dont have length```
@lofty hamlet
amber fractal
#

remove ({format:'png'})

earnest phoenix
#

ok

lofty hamlet
#

Hum i look

amber fractal
#

when you add ()'s to something you're telling the code its a function

#

most of the time

earnest phoenix
#

hmm

amber fractal
#

you wont need to format it anyways, it will be a png if they uploaded it as a png

#

Wait

earnest phoenix
lofty hamlet
#

.... @quartz kindle ... i just don't understand you can edit my code and explain me ?
Quickly done

amber fractal
#

Dont listen to me

inner jewel
#

you can get it as png, jpeg or webp

quartz kindle
#

@lofty hamlet no. if you dont understand, study more

inner jewel
#

discord allows those 3 formats

quartz kindle
#

no spoonfeeding

inner jewel
#

regardless of what it was uploaded as

lofty hamlet
#

But it's just a line

quartz kindle
#

yes its just a line, very easy

#

so you should understand

inner jewel
earnest phoenix
#

What's the opposite of guildCreate?

#

Is it guildRemove

inner jewel
#

GUILD_DELETE

earnest phoenix
#

alright

#

Thanks

inner jewel
#

on the gateway

#

idk what d.js does with that

#

¯_(ツ)_/¯

lofty hamlet
#

Tell me what to do then @quartz kindle

amber fractal
#

d.js is guildDelete

inner jewel
lofty hamlet
#

I don't understand what you say

quartz kindle
#

use google translate to translate it to french

lofty hamlet
#

I use this

earnest phoenix
#

thanks

lofty hamlet
#

I understand but i understand what you ask me

#

@quartz kindle

quartz kindle
#

what is so hard to understand?

#

you have args

#

args is what? is the words that the person put in the command

#

its an array, a list of words

#

if you do args.join("") you combine all the words into one string, one text

#

then you can check how big the text is by using .length

#

then if you use Number() you are converting the text into a number, so then it becomes Math, not text, so you cant see the length of the text anymore

lofty hamlet
#

It will not work like even watching with this command it's about the same

#

@quartz kindle

quartz kindle
#

var let const

lofty hamlet
#

I have test add : if (pokeraison.lenght > 1000) return

#

But pokeraison is a string

inner jewel
#

lenght

#

misspelled

quartz kindle
#

you didnt even define pokeraison

#

it doesnt exist in your code

inner jewel
quartz kindle
#

what

#

oh lmao

lofty hamlet
#

?

quartz kindle
#

its LENGTH not LENGHT

#

TH not HT

lofty hamlet
#

Look

#

My line : if (pokeraison.length > 500) return message.channel.send('No') not work

#

While pokeraison is a string

inner jewel
#

define doesn't work

lofty hamlet
#

@inner jewel ?

quartz kindle
#

you're slicing 22 characters off of it

#

you have to use a string that is bigger than 522 characters, have you tested?

amber fractal
#

Thats the length of a mention

earnest phoenix
#

Once a boy gets approved when I make changes does have to get approved again or is it one time

lofty hamlet
#

? @quartz kindle

quartz kindle
#

once a boy gets approved he becomes a man

lofty hamlet
#

One time

marble needle
#

you are checking if your string length is bigger than 500

inner jewel
#

mentions don't have a fixed length

marble needle
#

have you tested it with a string that's long enough

amber fractal
#

Yeah they do

#

every id is the same length

marble needle
#

<@id>

inner jewel
#

they could be anywhere from 4 to 24 characters

#

no

#

ids are unsigned 64 bit integers

#

those can have 1 to 20 characters

#

when printed in base 10

lofty hamlet
#

@quartz kindle ... is not work

earnest phoenix
#

Ok

lofty hamlet
earnest phoenix
#

Can u guys try out my bot

lofty hamlet
#

Even with a thong you saw

earnest phoenix
#

Give feedback

inner jewel
#

they can be @daring fjord and @plucky warren

#

both are perfectly valid mentions

quartz kindle
#

@lofty hamlet show the command you tested

keen drift
#

Yes

lofty hamlet
quartz kindle
#

the command

#

not the code

lofty hamlet
#

AH :

amber fractal
marble needle
#

else if tree command handlers ftw

inner jewel
#
80351110224678912 - b1nzy
182245310024777728 - me```
#

different lengths

amber fractal
#

I always use .slice(22) and it has never failed

inner jewel
#

then you never got any old user

lofty hamlet
#

@quartz kindle

keen drift
#

@quartz kindle

quartz kindle
#

@quartz kindle

keen drift
#

@quartz kindle

#

Quality

quartz kindle
#

i am being harassed

keen drift
#

Yes

quartz kindle
#

also @amber fractal if a user has a nickname in a server, his mention will have an ! in it

lofty hamlet
#

?poke @Nebulus#8919 JUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSS @quartz kindle it's the command

quartz kindle
#

i already saw, wait please

#

jesus

lofty hamlet
#

Ok ok exuse me

#

But it's been 1 hour since I'm there

keen drift
#

W0w just an hour

lofty hamlet
#

Just for this little error

quartz kindle
#

not my problem, we are not obliged to code for you

lofty hamlet
#

So ?

#

So you do not know?

keen drift
#

Wew

lofty hamlet
#

😢

marble needle
#

you can avoid errors by learning the language and being consistent within your code

amber fractal
#

You couldve solved the problem you told us in 1 line tho?

quartz kindle
#

your code is a mess, there is a bunch of other problems in it lol

marble needle
quartz kindle
#

but for now, try doing console.log(pokeraison)

mossy vine
#

var let const let holy shit

quartz kindle
#

yeah lmao

lofty hamlet
#

@quartz kindle when i used : ?poke @Nebulus EFEZ the console return EFEZ

marble needle
#

this one command +- pending cleanup/fixing is 40 lines, since he's using an else if tree i don't even want to imagine the mess of a code file his message handler is

quartz kindle
#

then it should work

lofty hamlet
#

But is not work ...

quartz kindle
#

do console.log(pokeraison.length, pokeraison.length > 10)

#

then test a command once with a text smaller than 10, then again with a text bigger than 10

lofty hamlet
#

@quartz kindle when i used ?poke @Nebulus EFEZUDQUQIQIU the console return : 13 true

quartz kindle
#

change your code from 522 to 10, and try again

#

see if it returns No

lofty hamlet
#

Where ?

quartz kindle
#

in the if length > 522

lofty hamlet
#

Ok

#

Return : no

#

@quartz kindle

quartz kindle
#

so it worked

lofty hamlet
#

...

#

Hum yes he work 🤔

#

But if i change 10 by 50 he don't work @quartz kindle 😂

#

WTF

quartz kindle
#

with a text bigger than 50?

lofty hamlet
#

No wait

lost swallow
#
const Discord = require("discord.js");
const cfg = require("../cfg/cfg.json");
const YTDL = require("ytdl-core");
exports.run = async (bot, message, args) => {
    function play(connection, message) {
        var server = servers[message.guild.id];
        server.dispatcher = connection.playStream(YTDL(server.queue[0], {
            filter: "audioonly"
        }));

        server.queue.shift();

        server.dispatcher.on("end", function () {
            if (server.queue[0]) play(connection, message);
            else connection.disconnect();
        });

    }
    let song_url = args[0]
    var servers = {};
    if (!message.guild.member(bot.user).hasPermission('SPEAK')) return message.channel.send(':x: Sorry, but i cant join/speak in this channel!').catch(console.error);
    if (!song_url) {
        message.channel.send(":x: Please provide a URL YouTube link to me to play song.");
        return;
    }

    if (!message.member.voiceChannel) {
        message.channel.send(":x: I think it may work better if you are in a voice channel!");
        return;
    }

    if (console.error) {
        message.channel.send(":x: Sorry, I'm still unable to search music on YouTube");
        return;
    }

    if (!servers[message.guild.id]) servers[message.guild.id] = {
        queue: []
    };

    var server = servers[message.guild.id];

    server.queue.push(song_url);

    message.channel.sendMessage('``You song has been added to the queue.``')
    if (!message.guild.voiceConnection) message.member.voiceChannel.join().then(function (connection) {
        play(connection, message);
    });

}

exports.help = {
    name: "play"
};```
#

its giving the unable to search error when i provide an url

quartz kindle
#

i dont think you can do if(console.error)

#

that makes no sense

lost swallow
#

catch (e) then?

lofty hamlet
#

@quartz kindle is work with ?poke UJIUJIJIJIDUDHJDJ but a big message : ?poke @Nebulus JUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSJUFEHIUSDHU7FYYU7UFDSUSDUDFSUYDFSSSSSSSSSSSSSSSSSSS

#

Is not work

#

This error : RangeError: RichEmbed field values may not exceed 1024 characters.

#

...

#

WTF

quartz kindle
#

then its another problem

#

@lost swallow where do you want to place that error message?

#

under which condition?

lost swallow
#

if the bot is unable to play a song

#

let me remove it

lofty hamlet
#

But what is the problme @quartz kindle wtf ?

lost swallow
#

OH LMAO IT WAS THE ERROR HANDLER

#

removed and works fine

#

xD

lofty hamlet
#

When I put more than 10 but less than 1024 it works more than 1024 it does not work wtf?

marble needle
lost swallow
#

because theres a limit on embed fields

marble needle
#

literally tells you embed fields can't exceed 1024 characters

lost swallow
#

you cant just fill them with junk

lofty hamlet
#

I klnow 😂 you You did not follow the mistakes

quartz kindle
#

what did you put in the .length >

lofty hamlet
#

if (pokeraison.length > 10) return message.channel.send('No') @quartz kindle

quartz kindle
#

strange

lofty hamlet
#

wtf

quartz kindle
#

try this

#

if(pokeraison.length > 10) { message.channel.send("No"); return; }

lofty hamlet
#

Ok

#

@quartz kindle ... : ```if (value.length > 1024) throw new RangeError('RichEmbed field values may not exceed 1024 characters.');
^

RangeError: RichEmbed field values may not exceed 1024 characters.
at RichEmbed.addField (/home/Akimitsu_Dev/node_modules/discord.js/src/structures/RichEmbed.js:157:36)
at Object.channellogs (/home/Akimitsu_Dev/function.js:21:14)
at Client.client.on.message (/home/Akimitsu_Dev/pokemon.js:3159:22)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handle (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
at WebSocketPacketManager.handle (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
at WebSocket.onMessage (/home/Akimitsu_Dev/node_modules/ws/lib/event-target.js:120:16)
error: Forever detected script exited with code: 1
error: Script restart attempt #1

lost swallow
#

yo tim its not playing the next song in the queue

lofty hamlet
#

The same

quartz kindle
#

what does your console.log say

lost swallow
#

uhm

#

long ass error

lofty hamlet
#

@quartz kindle ... : ```if (value.length > 1024) throw new RangeError('RichEmbed field values may not exceed 1024 characters.');
^

RangeError: RichEmbed field values may not exceed 1024 characters.
at RichEmbed.addField (/home/Akimitsu_Dev/node_modules/discord.js/src/structures/RichEmbed.js:157:36)
at Object.channellogs (/home/Akimitsu_Dev/function.js:21:14)
at Client.client.on.message (/home/Akimitsu_Dev/pokemon.js:3159:22)
at emitOne (events.js:116:13)
at Client.emit (events.js:211:7)
at MessageCreateHandler.handle (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/packets/handlers/MessageCreate.js:9:34)
at WebSocketPacketManager.handle (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/packets/WebSocketPacketManager.js:103:65)
at WebSocketConnection.onPacket (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:333:35)
at WebSocketConnection.onMessage (/home/Akimitsu_Dev/node_modules/discord.js/src/client/websocket/WebSocketConnection.js:296:17)
at WebSocket.onMessage (/home/Akimitsu_Dev/node_modules/ws/lib/event-target.js:120:16)
error: Forever detected script exited with code: 1
error: Script restart attempt #1

#

Ah not me

#

Exuse me

quartz kindle
#

econnreset means it disconnected from discord

#

can be a network failure, or your bot got stuck in an infinite loop

lost swallow
#
const Discord = require("discord.js");
const cfg = require("../cfg/cfg.json");
const YTDL = require("ytdl-core");
exports.run = async (bot, message, args) => {
    function play(connection, message) {
        var server = servers[message.guild.id];
        server.dispatcher = connection.playStream(YTDL(server.queue[0], {
            filter: "audioonly"
        }));

        server.queue.shift();

        server.dispatcher.on("end", function () {
            if (server.queue[0]) play(connection, message);
            else connection.disconnect();
        });

    }
    let song_url = args[0]
    var servers = {};
    if (!message.guild.member(bot.user).hasPermission('SPEAK')) return message.channel.send(':x: Sorry, but i cant join/speak in this channel!').catch(console.error);
    if (!song_url) {
        message.channel.send(":x: Please provide a URL YouTube link to me to play song.");
        return;
    }

    if (!message.member.voiceChannel) {
        message.channel.send(":x: I think it may work better if you are in a voice channel!");
        return;
    }

    if (!servers[message.guild.id]) servers[message.guild.id] = {
        queue: []
    };

    var server = servers[message.guild.id];

    server.queue.push(song_url);

    message.channel.sendMessage('``You song has been added to the queue.``')
    if (!message.guild.voiceConnection) message.member.voiceChannel.join().then(function (connection) {
        play(connection, message);
    });

}

exports.help = {
    name: "play"
};```
#

it did lag when i queued a new song

#

thats when the error was generated

quartz kindle
#

does that run everytime you use a command?

lost swallow
#

this is the play command

quartz kindle
#

because you're not saving the queue anywhere

#

every time you're regenerating the queue

#

the server and servers are being regenerated every time you run the command

#

so you're not really adding it to any queue

lost swallow
#

how do i save it

quartz kindle
#

your queues need to be saved outside of the function

#

and then just added/removed from it

normal bay
amber fractal
#

cuz rewrite

ruby dust
#

I wonder why you think of that, discord.py and discord.js are 2 the most used libraries

coral marlin
#
const lol = new Trash()
lol.takeItout()```
twin locust
#

Fixed the bot now it won't respond to help

blazing stratus
#

oh sorry not the right channel

#

help

#

!help

zealous veldt
zinc pawn
#

if anyone knows better sqlite 3, would you be able to help me set this up: server id: case numb user id mod id reason case numb 2... server id 2...

opaque eagle
#
const { app, Tray, Menu } = require("electron");
const path = require("path");

app.on("ready", () => {

    const TrayApp = new Tray(path.join(__dirname, "Hammer.icns"));
    TrayApp.setToolTip("This is a test.");
    TrayApp.setContextMenu(Menu.buildFromTemplate([
        { role: "quit" }
    ]));

});``````sh
Uncaught Exception: TypeError: Error processing argument at index 0, conversion failure from /Users/sinistercyborg/Projects/HammerRPC/Hammer.icns
    at App.app.on (/Users/sinistercyborg/Projects/HammerRPC/main.js:6:21)
    at App.emit (events.js:187:15)```
compact mauve
#

how would one set up vote checking for a bot in discord.py

#

so that the bot knows if a user voted or not

normal bay
#

@compact mauve algorithm based on user input

compact mauve
#

Let me clarify what I was asking for: I probably wasn't making this clear before, and I apologize, but I was wondering if there was example code one could show in discord.py that counts voting

patent stratus
#

Hi developers how do I want to switch to my bot account?

earnest phoenix
#

Why are the bots down on my server

keen drift
#

why are b0ts d0wn 0n m8y se8rver

amber fractal
#

🤔

lusty dew
#

Does anyone know how to use Vue.js?

keen drift
#

Yeah

#

My dashboard and doc uses vue

lusty dew
#

Ok

#

Help please

#

xd

#

I am trying to implement vue

#

into a checkbox

#

so when the checkbox is clicked

#

it shows a form

#
                <label class="checkbox is-2">
                    <input type="checkbox" name="Dev">
                </label>

I am trying to implement vue into this
Using

new Vue({
    el: "#app",
    data:{
        visible: true
    },
    methods: {
        toggle: function(){
            this.visible = !this.visible
        }
    }
})
#

using the

#

@click="toggle"

#

but idk where to put it at

#

in the lable or in the input

keen drift
#

why click event

#

checkbox has boolean value

#

just do a model binding

lusty dew
#

Oh?

#

So model binding

#

will make it so if it clicked it will show a form?

earnest phoenix
#

How make levels system?

#

Please help 😫🙏

chilly valley
keen drift
#

model binding will update the value, and since vue is reactive, you can use conditional if to show forms

round glade
#

anyone has some experience with express

lusty dew
#

@round glade I have some

round glade
#

hmmm

#

have you created a web panel before tho? @lusty dew

lusty dew
#

I have created wwebsites

mossy vine
#

Express isnt only used for web panels

#

Like what

lusty dew
#

He didn't say they were?

#

He just asked if I have

#

🤔 Where is the logic behind what you said

round glade
#

@mossy vine exactly

#

@lusty dew anyways, thanks for the help, I have found my way!

lusty dew
#

Mk

#

Didn't do anything but ok

#

xd

prime oriole
#

I need help with my bot

#

My bot crashes when it tried to load the json.py

keen drift
#

I need help with my bot
My bot crashes when it tries to load the superduberultimateoliydestroyer.ex

bright spear
#

is there an error? @prime oriole

#

@keen drift delet system32

keen drift
#

thanks, that worked

prime oriole
#

2019-01-27T22:05:25.404631+00:00 app[worker.1]: def json(self, *, loads=json.loads):2019-01-27T22:05:25.404655+00:00 app[worker.1]: AttributeError: module 'json' has no attribute 'loads'

#

How do i fix it

round glade
#

delete your self

#

xD

earnest phoenix
#

Suicide jokes aren't funny

round glade
#

hmmm

#

after thinking

#

that's right

#

oops ghost ping

prime oriole
#

Can someone help me

round glade
#

@prime oriole python?

prime oriole
#

Yes

round glade
#

I don't do python, so I can't help you.

inner jewel
#

<ignore>

prime oriole
#

;-;

round glade
#

lol

keen drift
#

@inner jewel hey qt, wanna help with d0cker

earnest phoenix
#
SwiftiToday at 11:50 PM
Suicide jokes aren't funny

prove me wrong, but literally everyone who's not suicidal gets offended by suicide jokes lol

#

oh this is dev

#

whoops

#

lol

prime oriole
#

Can someone help me?

earnest phoenix
#

Re-Post your problem

#

and stop saying that

prime oriole
#

2019-01-27T22:05:25.404631+00:00 app[worker.1]: def json(self, *, loads=json.loads):2019-01-27T22:05:25.404655+00:00 app[worker.1]: AttributeError: module 'json' has no attribute 'loads'

earnest phoenix
#

json has no attribute loads

#

it litterally tells you

prime oriole
#

What dose it mean?

round glade
#

@earnest phoenix "What does it mean? lol"