#development
1 messages Β· Page 572 of 1
the text is
Oh Im blind
lol
yes better but the red bar is a bit distracting but up to you about that
it draws your attention
how i can send a message in every server that my bot is in (Using JavaScript)
omg why would you want that
that can be achieved if you know js well enough and you are at least familiar with discord.js
Do you spend time staring at bot statuses?
yes
a mass message i just see as something that can go really wrong
not my business, but a pro tip: users from other servers don't even care about you, your bot, and even your announcements like these, they added your bot because they can and they just want to use it
Β―_(γ)_/Β―
^^
yeeto ok
π―
announcements array?
5/230
Yes
it saves the id of the channels people add when they enable announcements

anyways, mass messaging to servers is frowned upon and api abusive. just make an announcements channel in your server
he has no support server if i had to guess
I wouldn't call it as api abusive as anything else, considering there are large bots that have opt-in per-channel announcements
but mass messaging without staging or opt-in
it's generally discord's fault at first for giving bots not as strict global ratelimits to call that an api abuse in the first place, in addition to each channel (not even guild) having own ratelimits as they are a major endpoint
Whats the best way to go about having multiple people be able to do the same command separately? Because I have a command that people do to make a character, but (obviously) when other people call it while you are still making yours, it stops the one you called
just keep them in separate self-contained functions
idk how your code looks like, but the proper way to do it would be something like...
receive message from person A > reply and await response from person A
receive message from person B > reply and await response from person B
person A responds, function that was waiting for response from person A continues
function that is waiting for response from person B continues waiting
same principle lul
I figured lol was kind of expecting someone else to say that before I did
I actually had a similar question like steven, what if I don't want to let the same user execute the same command again if they did not finish their first one?
Thats not my problem, its a person calling the command then someone else calling it while the other one is going
like lets take your person A and B theory, how would I not execute the command for the user A if bot is still waiting for the A response
create a new state machine for each person on each command call
^
like when a person executes a function you create and track some kind of status
and other functions check for statuses to see if said person is allowed to use other commands or not
hm
Thats still not the problem tho, I dont care if they use other commands while they are creating a character
also, show the rest of your code, its possible that your message collector is being replaced by another person's message collector
That's what it is. I don't know how to make a different one for each person
from my understanding, a message collector is attached to the channel itself
Its in dms
so attaching a new collector would replace the old one
ah so you're awaiting the message in a dm channel
Yes
idk then, show the rest of your code?
Well I think I know the issue and I see my dumbness
nodejs won't install discord.js
.
i mean the actual nodejs application
Yeah, all of my variables were global
now I have an object with the users to separate them
it says it can't find the module 'discord.js'
Ok keep getting this error with no idea on how to resolve. error E:\<PATH REDACTED>\node_modules\integer\build\integer.vcxproj(20,3): error MSB4019: The imported project "E:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk. gyp ERR! build error gyp ERR! stack Error: `C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:262:23) gyp ERR! stack at ChildProcess.emit (events.js:197:13) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:254:12) gyp ERR! System Windows_NT 10.0.10586 gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" gyp ERR! cwd E:\<PATH REDACTED>\node_modules\integer gyp ERR! node -v v11.9.0 gyp ERR! node-gyp -v v3.8.0 gyp ERR! not ok
I think it has to deal with "integer" but idk what that is/idk how to fix and this all worked before on my pc
nvm i got it to install
@upbeat maple are you still able to help me out with my js issue?
What js issue and can it be solved by someone with no iq?
var allImages = document.getElementsByTagName("img");
var imageList = Array.prototype.slice.call(allImages);
for (x = 0; x < imageList.length; x++) {
console.log(`id ${allImages[x].id} strt`)
if (allImages[x].id == '') {
console.log(`id ${allImages[x].id} done`)
allImages[x].setAttribute("data-toggle", "tooltip");
allImages[x].setAttribute("data-placement", "right");
allImages[x].setAttribute("title", allImages[x].alt);
}
}
I got this far and it logs and all but wont attach anything

Oh well I have no iq so Im covered
ok
@formal agate thats a build error, most times its related to missing dependencies and/or build tools
@sick cloud this worked for me js var allImages = document.querySelectorAll("img"); allImages.forEach(t => t.setAttribute("test","test2"))
queryselectorall returns a nodelist, instead of an htmlcollection, which can be iterated using array functions, and its also much easier to use, since it uses the same syntax as css
All my build tools are right...
@quartz kindle i have to only apply to ones with no id
Does anyone know how to host a MongoDB server on a Raspberry pi 3 b+?
Well
I have it installed
but my bot can't seem to connect to it
I even made the db it needed
is your bot also in the PI?
Yes
is mongod running?
how are you connecting to it?
what happens if you type "mongo" in the terminal?
in which address
does this appear? connecting to: mongodb://127.0.0.1:27017
in the same address?
did you set the binding ip to 0.0.0.0 in your mongo settings?
?
Ah yea
didn't notice the Edit part
I don't have an
/etc/mongodb.conf
I have an etc
just not the
mongodb.conf
alright, check if it has a bind_ip line and change it to 0.0.0.0 for now
then if it still doesnt work, add a console.log in your connect function to see if anything comes up
0.0.0.0 means accept connections from all addresses
you can also set it to 127.0.0.1 which means accept connections only from the local machine
what error?
cannot read log of undefined
lol.... that has absolutely nothing to do with mongodb...
why didnt you say so in the first place
I get that error when mongodb server isn't running on my pc
and when I turn mongodb server back on it fixes
thats a code problem regardless, nothing to do with mongo
Mk whatever
MongoClient.connect(url, { useNewUrlParser: true }, (err, client) => {
if (err) client.log(err)
if it is a code error
what am I doing wrong
top one
so change the name of the second one, else your .log and .db are trying to use the second one, which is probably wrong
then change the names accordingly
Ok
Did something happen?
client_session: <aiohttp.client.ClientSession object at 0x7f2925bf4240>```
out of nowhere
My bot won't log back on
Now it is saying cannot read property "db" of undefined
does console.log log an error? before the undefined error
whats your code now?
change the second client with bot
show
Bc it gets in the way
i keep all my code open at all time
in the pi
Well the pi window
is small
even when it is exapnded
it gets in the way
ok
Anyway
I don't see how this matters
I am telling you it is bc the MongoDB server is not connecting to the bot
What?
db is undefined because bot is undefined, because an err happened, so your code should be interruped at err, but youre letting it continue
Bc the MongoDB server is not connecting to the fucking bot
and console.log should be showing an error there, if there is actually a problem with the db connection
I have said this 3 times now
and im asking for the error, and you said there is nothing
I have told you the error
Pm2 is moving to fast to get the error myself to show it
it restarts after an error occurs
it should stop restarting after X failed attempts
if (!share.includes(invest)) return message.channel.send("Please send a current company.") ```
doesnt work
invest is an array
also, first of all, make it interrupt the function if err happens: if(err) { console.log(err); return; }
basically, your mongodb requires wire version 2, but your mongo has version 0, which means its an outdated installation from an outdated tutorial
it says it can't find the module ('discord.js')
please install mongo from the mongo website
then fix those errors
cant help you if you dont say what those errors are
Well
anyway i need to go to bed so good luck
@empty owl it should be array.includes(value) not value.includes(array)
Can anyone see what I am doing wrong here?
const config = require('./config.js');
const mysql = require('mysql');
const logger = require('./modules/logger');
const connection = mysql.createPool(config.mysql);
function query(queryString) {
return new Promise((resolve, reject) => {
connection.query(queryString, (error, results) => {
if (error) reject(error);
else resolve(results);
logger.log('Info', results);
})
})
}
module.exports = query;```
it's not pulling my login info for database
using mysql
yes
define it's not pulling my login info for database
its supposed to pull my username and password from config the in the log it returns that the results are undefined
because there was an error
google is your friend
Now I got this one
I googled it
and I did what google said
still not wanting to work
I need some help with a problem where I don't want my code to dm me my help commands but I'm not sure what to delete who can help?
@inner jewel you know anything your smart
What
You donc't want your code to dm you?

Yes
The help command
If you meant you don't want your bot to reply to commands on DM just return if the channel type is DM
No
Ffs
Just help

The -help
= no dk
Do what i said then smh
Smh kms
Return if it's DM
Hell no
So you don't want help but you want help?
I'll ask someone smarter XD
L ao
Lmao
....
You are dumb not me
If you wrote proper English we would understand each other yk

mk
Wait
did you even write that code
if you can't change it to send in the channel instead of DM it i doubt you didn't copy paste it
I did not
I told him that
I just want to delete the bit so it don't DM you the help commands @inner jewel
@inner jewel what shall I remove
I'm very thick
message.author.send()
That sends it to the author
Okie
Just read the code dude please
Okay sowwe I'm just thick and blind
I was gonna say something about it buut nevermind. It's not even worth it


Nah glitch is amazing jks
What's the eval code to ban a member?
Why does DiscordJS use so much memory? I could run several instances of my web app on the server my bot runs on, while discordjs can barely run a couple shards of the bot which isn't even used that heavily
idk, profile it
because cache
that's what I was thinking, but what's it caching? i'd thought that the discord protocol would send all the relevant information about a message (server, channel, etc) within the message itself, rather than relying on the bot to cache that info in memory but I'm probably wrong
Djs is heavily cache reliant
If you profile it, you'll get a better understanding of what's using so much
the discord api sends us a guild and channel id rawly
on bot ready, discord.js (and most libs probably) cache guilds and channels for quick access
that makes sense.. 5000 servers with n channels each and that in itself is a lot of information
i do admit, the gateway sucks
not only is it unforgiving for issues, but we get sent next to no data
?
when i made my library, i worked out that you get guild_id channel_id and some really crappy data
@keen drift what
wym next to no data
like
we dont get invite create events
D:
i wonder if the gateway actually sends those secretly
The client just makes a call to fetch invites every time
Some of the things can be improved with more lazy load fields, but I think it's pretty good where it's at
There's no events for invites
The client calls to the api every time it needs to fetch those
ok
Still can't install mongodb on the raspberry pi 3 b+
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/ Followed this guide
raspbian and ubuntu are not the same
apt search mongodb
mongodb should be in the raspbian repo
try mongodb
instead of mongodb-org
arm64 tar balls are also available from mongo's site
so it's already installed?
like what
that thing is blurry as hell
god that is surprisingly small
Yea
I see that now
XD
Let me get a better one
Hopefully that is better
?
are there connection errors
What you see are the errors I get
the error just says you tried to use a null db handler
you should check if the connection is even established
oh why is that in the green
part
bc
Its the way I have it log errors for MongoStuff
it logs with the other stuff such as Logging commands loaded, etc
https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-arm64/mongodb-org-server_4.0.6_arm64.deb
trying to see if mongodb has an updated one for pi
I think in the past it had some conflicts with arm architecture
Ah ok
it replied with 32
k e k
Hm?
32 bit system
raspbian is 32 bit os I believe
he said it has an arm 7.1
You going need to re-image it with a 64 bit os
Debian Buster has a pi variant, a preview
as he owns it
Burn that to the micro-sd
and use that instead of raspbian
mongodb should work on that
Ok
https://i.imgur.com/fO8uvSJ.png Gonna buy my 2nd one, can't have enough
I have 2 raspberry pi zero w, and now 2 raspberry pi 3 b+
then i'll just 3d print my case
Lol
I can't afford that stuff yet
I am trying to make money
*Well I have to wait 15h for my friend to put that debian on his micro sd card
Yea
I want to get a raspberry pi 3 b+
Aren't they supposed to come out with a new one?
no announcement 3b+ is the latest
Ah mk
actually the 3a+ came out 3 months ago, it's a lower spec but cheaper option
Ah mk
@lusty dew hi friendo
@earnest phoenix sup lol
i have a 3b
@earnest phoenix its a toonlink i think
use screen
idk how glitch works
but if its an linux server
you should use screen
if javascript had this π
javascript has await 
what does that even mean in terms of control flow
javascripts await is for awaiting promises
can it just hang there forever if the variable never flips to true
i guess
Ley
lol
that doesn't seem very powerful lol
for certain uses
idk how works screen, i like a solution in glitch
it will be usefull
I'm making a key distribution command, everything almost works, when I execute the command, it sends a dm as it should, but it sends your key is undefined
instead of your key is 1, 2 , 3, 4, 5 or whatever key they get
this is my code https://hastebin.com/elepekijuv.js
tbh i swap between those regularly and i have no idea why
eslint is the only reason people stay sane when looking at my code
i mean the message means rows[0].a is undefined
you're logging rows, should be able to figure out why
well you can see none of those SpreadsheetRows have an .a property
i have no idea what info you're looking for out of those so i can't tell you what to replace it with lol
when you write rows[0].a you're saying "the a property of rows[0]" yes?
it needs to be some property that will get you the text
...i dont really see where the text you're looking for might be in all that tho, you might want to check the api docs for google-spreadsheet
from this it sounds like Row 1 should be headers, so if cell A1 is "keys" then when you get the rows 2-5 you can access rows[0].keys
yeah
...so try that lol
np
how do i use this if i already use ` in my code
like, i want to highlight ${rows[0].keys}
escape it with \
I might be wrong but maybe like this
\`${rows[0].keys}\`
o
that work?
You can escape characters just like he showed with a backslash
But with string literals, you just need to wrap the entire string in backticks (in js at least)
Sure, I don't know any of the technical terms, I never bothered to learn them haha
const literal1 = "this is a literal"
const literal2 = 'this is a literal'
const literal3= `this is a literal`
const string = "one literal" + 1 + 'another literal' + `third literal`
I just know how things work, being self taught, I never learned the correct terminology for things :P
the text is the literal
and eg ```js
const thing = some text ${someVariable$} more text
"some text " and " more text" are the literals
Ye
im pretty sure in that last case the whole thing is a template literal
template literal != string literal
ye
a literal is just any piece of literal data hardcoded in, template literals just happen to allow embedded expressions
Technical question, my language is Brazilian portugese, if i create the same bot but in English language itβs considered a cloned bot?
My bot language*
const Discord = require('discord.js');
const config = require("../docs/config.json")
const cmd = require("../docs/commands.js");
module.exports.run = async (bot, message, args) => {
message.delete();
const embed = new Discord.RichEmbed()
.setColor(config.red)
.setDescription("t! prefix\n help comand is modular, write t!help <module>\n moderation\n fun\n nsfw\n info\n main-commands\n mini-games")
.addField("updates", `Updated help command`)
if(args[0] === "moderation"){
return cmd.moder(message.channel)
}
if(args[0] === "fun"){
return cmd.fun(message.channel)
}
if(args[0] === "nsfw"){
return cmd.nsfw(message.channel)
}
if(args[0] === "info"){
return cmd.info(message.channel)
}
if(args[0] === "main-commands"){
return cmd.mc(message.channel)
}
if(args[0] === "mini-games"){
return cmd.mg(message.channel)
}
return message.channel.send(embed).then(msg =>msg.delete(20000));
}
No working, no error
Pls heeelp
@latent oasis, try this:
if(args[0] == "info") { message.channel.send(cmd.info) }
you need to declare the "args" and the "cmd.info" as well
?
i understood that he used the "cmd.info" as a grip to other file
idk, just thinking out loud
@daring sage if both bots are yours then its not considered a clone
@quartz kindle got it! thanks!
Γ© nois
Γ© nois
im trying to take a bot and make it so i can put the commands into indiviual files, the only problem is when i go to reload the commands, the commands in the bot dont get updated. in order for the changes to actually take effect i have to restart the bot, bringing me back to the thing i wanted to avoid. here is the code i use to reload the commands: ```js
Object.values(client.commands).map(c => c.label).filter(c => c !== 'help').forEach(c => {
console.log(c)
client.unregisterCommand(c);
});
var commands = fs.readdirSync('./cmds');
console.log(Loading ${commands.length} commands, please wait...)
commands.forEach(c => {
var cmdFile = require(./cmds/${c});
client.registerCommand(cmdFile.name, (msg, args) => cmdFile.exec(client, msg, args, shardCount), cmdFile.options)
});
clear require cache
how do i do that
delete require.cache[]
something like that
you would put the path to the file there
ahh, ok
delete require.cache[require.resolve(`./src/commands/${command}.js`)];
this.commands.delete(command);
this.commands.set(command, require(`./src/commands/${command}.js`));
@fervent oyster delete it from require cache, delete it from map, then set it again like this
ok
if you use a framework
im using eris's commandclient
you could either do it manually or that unregisterCommand for ease
i use my modified d.js command handler
if eris ahve that
eris does have unregisterCommand
my handler is kinda self written so I still need to do that, well try using that
delete require.cache[require.resolve(`./${commandName}.js`)];
coffee.commands.delete(commandName);
const props = require(`./${commandName}.js`);
coffee.commands.set(commandName, props);
``` how my reload works
basically
are you sharded by any chance?
no
I see then that would not have issues
nah was refering to samurai since his reload will be problematic in multi shards
how so
simply because that will only reload your command from a single shard
ex: you got shard 0 and 1 and you reloaded in 1
that will only reload shard's number 1 command
from the way I see it
Mine works on all shards... or should
but I dont use eris
i have all my shards running a localhost webhook, so when i run the command it reloads everything on that one shard then calls to the other shards to reload
for me I just send a message to master process
master process will prompt all the shards to do the reload
my bot uses traditional sharding of d.js
<master process> -> child process
child process sends message to master master will reply to child
Referring to redis, what is meant by "high performance"?
Redis is an in-memory database
Its entire dataset is stored in ram, and only makes periodic backups to disk
While most databases are the other way around
Redis is known to be one of, if not the, fastest databases out there
So redis is best used for caching?
I see
does someone use Eris please? I cant find out which event is triggered when kicking a member, maybe I'm blind but gne :d
You cant see the difference between kicking and leaving I dont think
Eris, a NodeJS Discord library
hm, but, how for example Tatsumaki is able to separate kicks and leaves ?
I think raw events exist and you can check if the latest audit log was a kick 
got it, thanks a lot 
Taking my advice
idk if that is the best idea
its to do with web development
so i have a responsive navigation bar that changes depending on screen size
the problem is for mobile only
the first time i click on the three lines to open up the nav but it just pops up but when i close and re open again it does the animation i made but it doesnt work the first time i click on it for some reason
been trying for 30 mins now and no results
i can screenshare if needed
so im very new to this kind of stuff and i want to learn, but have no idea what im even looking for
i want to create a file on my desktop that when i double click executes a bunch of commands
running different commands in different folders, such as opening them up to different ports on localhost
im on windows if that matters
again, if someone can just give me a link that can get me started i would be very thankful
anyone able to at least link me to something to get me started?
uhm
more like
an executable that does stuff i would type in cmd
appearently a batch file is what i need?
so batch can like
navigate in a folder, run somethiing
navigate in other folder, run something else
etc?
okay ill look into it thanks
does this work
wait but that will open up a bunch of cmds, wont it?
wait it needs to have a bunch of cmds open anyways
hmm
yes
cant it be done so its in the background and doesnt annoy me?
dont know about that
at startup sometimes i can see prompts but they close really quickly
so not completely hidden
@knotty steeple u know anything about web dev?
u know the channel topic says dont randomly ping people
wait how do i go up a directory?
because i know i can do cd directory
but how do i go up?
cd /folder?
cd ..
Oh gg
start python -m ...
aaaand now i have a bunch of cmds open
exactly what i wanted to avoid in the first place
start /b
does the /b go before or after ...?
before
doesnt work with before
seems to work with after
but only one of the localhosts work
yep, one works well and other just.. doesnt
ill remove the /b and see if i get any useful output
Could someone tell me what I am doing wrong here. I am making a command to make the bot leave a server. When I try it just tells me it can't find the server.
const config = require('../../config.js');
exports.run = async (client, msg, args) => {
const guildID = args.slice().join(' ');
if (!config.ownerID.includes(msg.author.id)) return msg.channel.send('You don not have permission to use this command.');
if (!guildID || isNaN(guildID)) return msg.channel.send('You must enter a server id.');
try {
await client.guilds.get(args).leave();
} catch (error) {
return msg.channel.send('I could not find this server. Please check if the server id is correct and Red Queen is in that server');
}
return msg.channel.send(`Red Queen has successfully left ${guildID}`);
};```
start /b python ...
someone else has problems with pings over 9000 on some shards?
Probably just discord being discord
Anyone got some experience with GSM modules? Trying to see which SIM module for my pi I should get for Verzion
When i spawn 2 shards using discord shard manager, My bot creates way more than 2 instances which causes my memory to leark
Manager.spawn(2);```
that should have 3 processes
yeah 3
my bot creates way more than 3
i can see that by my command handler constantly loading the commands
But what interests me the most is how do people get those image stats from dbl?
Ok npm is driving me nut, what does this mean? Its not trying to pull from "PATH" right, because if so that doesn't exist. Downloading installers failed. Error: { Error: EBUSY: resource busy or locked, unlink 'C:\Users\USERNAME\.windows-build-tools\build-tools-log.txt'
anybody know discord.js? trying to help a friend code a bot and i don't feel like i'm explaining well
i know how to do a bot, but i'm terrible at explaining it to another person
get them to ask instead of you asking
Well you cant help if they're using dbm
i don't know how to do discord bot maker
seems simple enough
its got its own yt page
In this tutorial, we start by registering the bot from the Discord into the project. Once ready, the bot may begin to have work done to it! http://www.discor...
yes
How much did you pay for that
Oh
it's $9.99 on steam
Search the world's information, including webpages, images, videos and more. Google has many special features to help you find exactly what you're looking for.
ahh
got the url format wrong
i had the same reaction @ruby dust

I'm starting to think that dbm is made generally to make money out of normies that are lazy to learn but want to make a bot
It is
yes
What do you mean starting to think 
at first I thought it was like a friendly solution for those people, but now I see the truth
and uhuhuhuhuhuuhuhuhuh i have an odd question for yall
Yes?
is it possible to (in clientside js only) make pages change w/o reload
nobody knows discord bot maker
since people are here i guess i should ask a really dumb js question. WhyDOEs tHis Not WoRK? if (props.config.aliases == aliasesProp) { aliases = "<No Aliases>"; } else { aliases = props.config.aliases; }
like how vue/react etc do it but not that
dbm is actually an embarrassment to development in general, future people will think that they have to pay in order to make a bot
burry it in google search
@sick cloud SPAs? yeah, i mean there's an alternative, use css's display: hidden feature
replace the dom elements and use the browser history api
you will have to cram a bunch of divs into one page though
they need to delete their app honestly
oh
single page applications π©
spas are cool
and readd when you load that page again
how do you make one
i use multiple pages and ejs/express so uh, dom
each spa framework has docs on how to get started
i want to avoid rewriting my entire program in an spa framework
i personally use react
thats why im asking
uh
putting a band aid over a hole still makes it a hole
any idea how to get those 'bot stats' card that some other bots have?
example? i've got no idea what you're talking about
This?
yeah
How would we make a bot create an invite to a server in discord.py?
do you have the command for responding to prefixes?
yes
because you can put your invite in the response part
i know
lmao
Oh, the bot doesn't have an invite to put in the response though
btw the above that i reported only happens if i dont run the file itself
so i can do node main.js
I'm trying to make it create an invite
i found this:
oh thanks
spoonfeed
don't spoonfed, discouraged ^
message deleted
Wait
no they meant me
Ok
Does anyone know on how to make a weather & time bot for python?
that question is too generic
π
btw, how do I identify in discord.py which shard is the current server?
Well
Discord has a thing for that
iirc its (guild_id >> 22) % num_shards
Wait
Wait
LOL
thanks, just found that guild object has shard_id property
Just how discord does it
referring to the bot info widget, i cant get it to get the image
@grim aspen Thanks for that
for the script
use template literal instead of string literal
that creates an invite
are these the actual message types? and how do they look like?
was that for me? @quartz kindle
it's supposed to get the ping of the user
which is why I'm asking
here's the code
client.on('message', msg => {
if (msg.content === ':Lksjjd ping') {
msg.channel.send('Pong! Latency is ${m.createdTimestamp - message.createdTimestamp}ms. API Latency is ${Math.round(client.ping)}ms`');
}
});
js?
Literally my ping command 
em where you have defined?
You sent a python script before
trying to help someone earlier
Its because no backticks
use msg.CreatedTimestamp
@grim aspen as i said, use template literals, not string literals
stringliteral = "message";
stringliteral = 'message';
templateliteral = `message`; ```
and plus i know python too
client.on('message', msg => {
if (msg.content === ':Lksjjd ping') {
msg.channel.send('Pong! Latency is ${msg.createdTimestamp - msg.createdTimestamp}ms. API Latency is ${Math.round(client.ping)}ms`');
}
});```
thats still wrong
yea I know...
did you do what i said?
getting on doing that
const m = await a.message.channel.send(`${a.strings.getMsg("holdon")}...`); m.edit(`π | Ping: **${m.createdTimestamp - a.message.createdTimestamp}**ms. Gateway (API): **${Math.round(a.client.ping)}**ms`); I have this 
it just got me back to the first problem
why wont the dbl widget embed?
let's see if that does it
@grim aspen but delete a.
if i go on it, it shows perfectly but it doesnt wanna embed
do i have to use something like jimp to grab the image?
discord dont shows svg
@ruby dust my guess is that those are used for this discord.on_socket_raw_receive(msg)
widget is for only .svg
its an svg
highly doubt it, maybe it's for group dms?
so do i have to get and download the image using jimp then send it?
yes
alright thanks
the png link works
but if you want to embed it in a discord embed, you need to download it and set it as an attachment
setImage takes a url tho?
alright
dont know how a bot would get in
yeah just tried with 2 friends, those are dm group message events
so those events are received as a message event?
have to reset token
they are just a normal message, but are assigned a specific message type like welcome messages and message pinned messages
is making a python bot easy>
If you know python 
according to how discord.py is constructed, yes
discord.py and discord.js are the 2 easiest libraries
online
alright -_-
alright, im just 13, kinda want to learn on how to code xd
age doesn't matter, anyone can code if have enough passion and patience
Noice
What does your age have to do with this
thats the point

π
be ready to have a lot of patience
Scratch best 
joking, acutally do know on how to code xd
i forgot all about basic
(x) doubt
Just getting stuck on one of my code! yikee
just so you know, programming doesn't have an end, you will never learn everything there is provided to you in a single language
True
just learn moreβ’
I used bootstrap to make a game in 7th grade 
write code until you no longer need stackoverflow
My friend has a python bot, his code is over 2k lines.
I use it
i used it like twice for something
I have like 2 or 3 posts
i had a one file bot
Questions*
one of the best feelings is writing code for like 2 hours non stop without testing it, and when you finally test it, it works
I used to have a pretty good & popular bot, but decided to remove it.
most of the time that happens to me
I only have 46 rep on stackoverflow 
or most of my bots 
Is bootscrap good, I've actually never used it.
the only times it doesn't work is if I made a stupid mistake, other than that I can code for hours non-stop and the code works
bootscrap
Im only using Visual Studio
sublime text is more than enough for python
I have to try, fix, try, fix but in the end it works
lines != quality and complexity
instead of looking at lines of code look at quality of code
2k lines of ifs
@quartz kindle got it to work but a different way
xD
actually, comparing python with any other language is the same as comparing indents and {}
lmao
I don't see bootstrap for python.... -_-
i use sublime too
because thats not a thing
i had to use a prefixed command
how is bootstrap related with python again
Yes, that's why, if it is very repetitive when doing a bot
its a web framework
bootstrap is a css framework...? css isn't even a programming language...?
not only css

