#development
1 messages · Page 91 of 1
Those IPs have been going through many providers and users already
When trying to use this IP and building a positive rep then you will have let your IP unblock by any service it has been blocked from
Or use a smtp relay service by google or Amazon etc
Which I wouldn't do but just to say
Love how my contabo IP is blacklisted on one literally 2002 lookin-ass website that requires you to pay to whitelist
Literally no other flags
There's 3 levels on these checks though: level 1 being the email provider, level 2 the IP, level 3 the whole Provider (ASP or smth)
So if your IP is blacklisted on 3, most providers do ignore it, you can easily get your IP whitelisted on Level 1s and 2s for free if you're able to prove its not malicious
Though they can check when the IP was last used to abuse so thats probably not going to be needed, some blacklists also expire until a new report comes in
The issue are usually not the public whitelisting services but the private ones the toolbox doesn't show and list
And there's also a lot of them used by different companies
Being blocked on many public listing services already is a good hint to change the IP in the first place
Change my mind: blacklist providers providing publicly accessible blacklists should allow whitelisting for free
Aka if you're blacklisted, unblacklist with a proper reason given
That's mostly the case and usually an automatic process where you just have to fill out a form
Well I can now send and receive emails without it being spam so that’s cool
finally finished the worst draw program on the internet
https://draw.rjansen.de/
Daily reminder to set dmarc and dkim
Already did
good
hello! sorry if this is the wrong place friends, but i see that a lot of bots get declined for verification with the reason being "The long description on your bot's page is filled out with spam/junk to reach the 200 character minimum requirement. Please rewrite your description to include more useful information about your bot." does someone have an example of what's considered spam or junk? i.e. does it mean it has to be just a list of features or is like descriptive sentences considered as filler/spam/junk? thanks!
examples are spamming random alphanumeric ("difjakhdfiuehhad") or no useful info
ok, thank you so much. i was worried about this and this makes a lot of sense to me.
i've also encountered bots that has a lyrics of a song on their description. That would also fall under junk
yea no problemo
that is wild, lol sorry you have to go through that

oh i understand. just trying to get a understanding of the process. just one more question if you don't mind!
yea sure go ahead
i can imagine that the reviewers have a lot of requests and can spend only so much time for each bot. if the bot is very big, is the review split between multiple reviewers?
ah no, but a reviewer can ask for help from other reviewers if they need so
that makes a lot of sense to me. thank you for answering my questions, you've been super nice! thank you for all the amazing work you're doing!
No problem at all! :>
.component is read only
setDisabled is not a thing
theres disabled, but thats read only too
You need to define a new button and edit the message
actually nvm, setDisabled exists, but yeha you cant edit it, you need to re-define it
At least that's what I would do
i have done the exact same thing on another bot which worked 
on another bot
same versions?
yeah
is that a buttonInteraction too?
yeah

why does this shit have so many versions istg
literally
Hey, in java we must name the methods Word1Word2 right instead of word1Word2?
Ah i see, thanks aurel
public void addStudent (Student name, int place) {
all[place] = name;
}
```my teacher made everything like this
shouldn't it become AddStudent tho?
the other way around
all methods are camelCase
all classes PascalCase
owhhh
all constants SCREAMING_SNAKE_CASE
And variables?
camel
i know they are mixed conventions but not sure what that is
ah i see
thanks
So imagine for a method i got 3 words: askinloop, it would become askInLoop?
no, you'd rename that thing
processLoop or smth
depends on what it does
depending on what it does you don't even need to create a method
I am trying to keep my main as empty as possible
according to my teachers that's a good practice in java
so i divided all the coded into classes
not in the way u think
and added some general methods outside the actual public void main
yes, you're supposed to make self-contained classes, but u don't need to make a method for every single action
Owh
for example
public class Main {
public static void main(String[] args) {
welcome();
}
public static void createUser(String[] array, Group group, int place) {
int studentNumber = Integer.parseInt(array[0]);
String studentFirstName = array[1];
String studentLastName = array[2];
Student newStudent = new Student(studentFirstName, studentLastName, studentNumber);
group.addStudent(newStudent, place);
}
public static void processLoop(input Getter, Group group, int size) {
Boolean errorFound = false;
while (!errorFound) {
errorFound = Getter.finishChanges(group, size);
}
}
public static void welcome() {
input Getter = new input();
int size = Getter.getGroupSize();
Group group = new Group(size);
for(int i = 0; i < size; i++) {
String array[] = Getter.studentCreationInput();
createUser(array, group, i);
}
Getter.createOutput(group);
processLoop(Getter, group, size);
}
}
``` this is what i've done right now
I found it pretty clean
see, ur using that method in a single place
also, u still need to learn proper formatting
and dont use capital primitives except for generics
wdym with capital primitives
Boolean
use boolean
they're different things
the former is a boxed primitive, the latter is the actual primitive
Yeah indeed, i asked the teacher and she said that eventually we would want to code so, that the main would be empty, and only methods/class methods are being called.
Owhh damn, thank you for pointing it out
no, that's almost as bad as having very big methods
you only make methods for 2 scenarios:
A - it's a class-specific action (getters, setters, renderers, etc etc)
B - it's a commonly repeated code block
else you get a lot of small functions, forcing the viewer to jump around to see what each is doing
Owh that's strange
for example ```java
while (!finishedStuff()) {
doThis();
theOtherThing();
thenDoThis();
ohAndDontForgetThis();
finishWithThis();
}
it's small? yes it is, but you have virtually no reference code in that block
to see what it's doing you'd have to ctrl + click each line and see what each step is doing
when your teach said that about the main() block they meant that you should keep only initialization stuff inside it
having a small main method is good imo
this is my Main for example ```java
public class Main {
private static final OperatingSystemMXBean info = (OperatingSystemMXBean) ManagementFactory.getOperatingSystemMXBean();
protected static final StopWatch boot = new StopWatch();
private static final CacheManager cacheManager = new CacheManager();
private static final CommandManager commandManager = new CommandManager();
private static final ScheduleManager scheduleManager;
static {
ScheduleManager sm;
try {
sm = new ScheduleManager();
} catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) {
Constants.LOGGER.error("Failed to start scheduler: " + e, e);
sm = null;
}
scheduleManager = sm;
}
private static Application app;
public static void main(String[] args) {
boot.start();
ImageIO.setUseCache(false);
Thread.setDefaultUncaughtExceptionHandler(app = new Application());
}
public static CacheManager getCacheManager() {
return cacheManager;
}
public static CommandManager getCommandManager() {
return commandManager;
}
@Nonnull
public static Application getApp() {
return app;
}
}
main is really only responsible for initialization, not figuring out how your program runs
yes, that's what I meant
owh yeah you are right
they told me to keep the public static void main as reduced as possible
but the main class itself can indeed contain other methods etc
I am probably doing something wrong but here i am
bot is not getting dm messages, logging message.content
intents: [Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.DIRECT_MESSAGES, Intents.FLAGS.MESSAGE_CONTENT]
version: v13.12.0
yes, but that's not the actual point
main() is what initializes your application, like, anything it needs to do before starting the actual app
it shouldn't contain any business logic or database transactions
just the essential for a successful start
istg 13.12 hates you
the Main class (can be called anything) usually hold values or methods that will be accessed from the rest of the code, and that are related to the runtime
ah i see', yeah i already figured that the main class is used to make sure that those values can be used for all the other classes and methods (by providing them as a parameter for example)
for example, there I have
OperatingSystemMXBean = returns info about the system
StopWatch = to time how much it took to start
CacheManager = my cache manager (stores frequently used values)
CommandManager = loads the classes related to commands
ScheduleManager = loads periodic CRON tasks
Application = the bot
the managers are self-contained loaders, they need to be online before starting the bot so that's why they're there
ok i did more logging
it is logging not all messages in guilds
and it is just not logging dms at all
solution: wait for a bug fix on v50
did u include partials?
upgrade to v14
yes
cba
if u listen to raw events does it appear in the log?
^
there are probably more messages from tim
whenever something isn't firing, he always say to listen to raw events
well, then it is indeed firing
somethind down the pipe is preventing it from reaching the event listener
yeah
ask tim if he pops in this channel, he's got more knowledge about djs event piping than I do
alrighty ty
wazzap
hey anyone used python flask with lambda?
im not able to deploy using zappa, i keep running into "lib" not found error for some reason but the app runs as expected locally.
"dev": {
"app_function": "lib.server.app",
"profile_name": "default",
"project_name": "backend",
"runtime": "python3.9",
"s3_bucket": "zappa-app",
"aws_region": "us-west-2",
"slim_handler": true,
"cors": true,
}
}```
this my zappa config
when i run deploy, and use zappa tail it just shows this error. and says deploy failed
i tried creating a boilerplate app with same settings and that worked
python flask or idk, I use java
jokes aside, u need to install lib
whatever that is
did u try pip i lib?
hey, is it possible to create a graphical-interface with java?
I am trying to create a calendar, and ofcourse in native java it's easy but i am trying to take a step ahead and create an actual graphical representation of the calendar
i've heard that java swing is a good package for handling such gui creations
Hm?>
You can create GUIs in Java @eternal osprey but it is pretty annoying to make it look good
Swing is the built in standard but there are other GUI libs out there
I see, it doesn't have to be really pretty
just like the apple calendar planner app
it needs to be functional and that's it actually
I wanted to use java as that's my current programming language goal to learn, and i really like the language so far
java is...not the best language for UI
like, you could definitely create gorgeous apps (jetbrains IDEs are made purely in swing afterall)
but it's a hard task
Ah i see
I will try, thanks for all the suggestions tho guys!
if you like java you'll love kotlin
Kotlin is like the syntactically sugary version of Java, with some nice features and QOL stuff. Java itself is still a really great language to start off OOP with though, definitely stick with it
I love java yet hate kotlin
I haven’t tried Kotlin but almost everyone I know that uses it likes it pretty much universally
Depends on your style really
Java is set in stone and really easy to read, I love Java primarily because there’s not so many fancy tricks and 10 billion and 1 ways to do things
It’s the simplicity that makes it elegant
think you're being too harsh on kotlin
a lot of kotlin is syntactic sugar, but there are many features kotlin provides which java doesn't or makes very difficult
higher order functions being the most basic example, as java's function interface thing is just yucky
Yeah oop introduced me to java and i love it so far. I like it more then c++ as java is indeed simple and easy to use (well once you get the hang of all scopes and intents)
to be fair java's indentation does not affect the langauge, and scope is the same as it is in C++
yeah but the static, public, methods etc hit me like a truck tho
but i kinda got the hang of it already
Does anyone know how i can make this button smaller?
ImageIcon image = new ImageIcon(new ImageIcon("C:\\Users\\\Desktop\\foto-3.png").getImage().getScaledInstance(400, 400, Image.SCALE_DEFAULT));
private JLabel label = new JLabel(image);
private JFrame frame = new JFrame();
label.setBounds(10, 10, 400, 400);
label.setVisible(true);
label.setLayout(new FlowLayout());
it's quite a low bar to say "I love X more than c++" lmao
just a small headsup, but u can set methods in component instantiation
private JLabel label = new JLabel(image) {{
setBounds(10, 10, 400, 400);
setLayout(new FlowLayout());
setVisible(true);
}};
also, always call setVisible as last
to make it smaller simply use setSize
it didn't age well indeed
Programmatically generating UIs just does not work as well as they had hoped
Markup langs hit this one on the nose pretty much perfectly
I mean, it'd be a great framework, the issue is that they overcomplicated things
like making grids (and filling with data)
If it were easier to position components then it would be so much better
But to get a layout you want you have to know what all the stupid layouts do and how to use them
It's very complex and honestly I just stay far away
I really wish someone made a better UI framework for java
javafx just doesn't cut it
no it works very well
swing itself is just not great
like, if you use react jsx, you're already doing a weak version of that
My issue with swing is that it's overly verbose
That too
Like, I'm all in for java-level of verbosity, it's fine
But swing goes too overboard
imperative uis are awful to work with
The pipeline is complex too, doesn't offer much wiggle room for customizability
Most of the time I end up making my own extensions to make it more practical
I'm rewriting my engine to use opengl + imgui instead of swing, I have no idea why I even tried to use swing for it
(It's sketchy if I'm actually going to be able to write this engine by the time I need it though, I'm not very good at this whole advanced data structures for game engines thing)
You could try making an opengl wrapper that extends graphics2d
You'd instantly become one of the most popular lib devs
yo guys what is the equivalent to this but using import? im trying to make a reload all commands on my bot
delete require.cache[require.resolve('./my_module')]
before my rewrite i would use this to unload all my commands and then require it again but im not able to figure it out in any documentation, is it even possible?
Unfortunately this is not possible with ESM
It's my #1 complaint about import, everything else is great
this is actually kind of false
it's possible if you want to rewrite the file with fs and then reimport it 
full disclaimer, I am the author
No lol
I got it working fine
I said no lol to giving up
most of my issues at the time was my backtracker module
Native like imports are important to me
also on the off chance anybody here knows how to get the java compiler to shut the fuck up, how do I tell it that this is safe: ```java
Class<?> c = f.getType();
System.out.println(c.getTypeName());
if(IComponent.class.isAssignableFrom(c)) {
System.out.println("Yes");
Object instance = c.getDeclaredConstructor().newInstance();
f.set(gameObj, instance);
addComponent(objID, instance);
}
```since addComponent's 2nd param takes a <T extends IComponent> but it won't accept Object
But I know that the class is compatible because of the if statement
cant you cast it to a type
Problem is that I don't know the type at compile time
I'm using reflection
Otherwise I would cast it
Cast it to IComponent?
Doesn't work because that's casting upwards and losing information
This checks if the type implements IComponent
and if it does, instantiate it and add it to the entity's components
is there something similar in java like in js:
if (item instanceof SomeClass) item.someClassSpecificMethod();
unfortunately no
instanceof is the closest you can get but the compiler doesn't extract any info from it
Intellisense's JS type system is smarter than Java's wtf
yeah it's really bugging me
it's the one thing I need to complete this and test it
but the compiler is being stupid
Object does extend IComponent though?
Flawed system imo
Java compiler or my system
I don't technically HAVE to have it like this, but it certainly is convenient for the user
even if the class doesn't add any new members from its base class, its base class isn't compatible with its type
or has the possibility of not being
I suppose I could have the precondition of the user having to instantiate the components themselves
Let me try that and see how it goes
Actually no that still presents the same issue
Because I don't know how to get the actual type of the components at runtime even if they're already instantiated
My only other idea is to have a list of components in the gameobject that the user has to add to
Which is kind of lame
I got it to work
Turns out I'm a dummy
I forgot to register the component in the ECS
I blame gradle, it was hiding the error from me
Linux VPS (Just SSH)
Linux VPS (with GUI)
Windows VPS
Which one would you rather?
just ssh
First one
well working with SSH isn't hard?
I change my VPS os from Windows to Linux
but its really confusing and weird
I'm not sure about what I've done and I'm feeling I have to change it to Windows again
SSH is literally just connecting you to the remote machine (your VPS in this case), and you just work with the terminal
yup and I don't have direct access to files & folders and its little weird and new for me
Using any type of GUI for a server is a terrible idea, and you shouldn't use a Windows VPS unless it's purely for building/compiling programs for Windows
you have, but with the terminal
or sftp
JLabel label = new JLabel(image);
JFrame frame = new JFrame();
JPanel panel = new JPanel();
JProgressBar name = new JProgressBar(0, 100);
name.setBounds(40,40,160,30);
name.setValue(0);
name.setStringPainted(true);
name.setVisible(true);
panel.setLayout(new GridLayout(0, 1));
panel.add(label);
label.add(name);
label.setLayout( null );
label.setBounds(10, 10, 50, 50);
label.setVisible(true);
frame.add(panel, BorderLayout.CENTER);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setTitle("Zorgzaam - Planning & Administratie");
frame.pack();
frame.setVisible(true);```does anyone know why my progressbar is not showing up?
Only thing it's showing is just a blank white page
it's only showing up once it's done lmao
is there any way to connect to the Linux SSH from phone?
I just want to do pm2 restart or something like that if onetime my bot turned off and I didn't have access to my PC
it works i guess
Termius on android is kinda good
I recommend juicessh
Becausw you're calling setVisible last
Which you should anyway
What is it supposed to do?
can we set dynamic time in the button
How can I make the chakra colour mode change be a transition?
You mean the unix markdown?
Try it, but I think you can't
The same way u can't ping people in buttons
What?
ig you mean by spamming the api and updating the button every second lol
Limão
lol
is there any way to login into my VPS (Linux SSH) without enter IP/username/password each time?
A bookmark and ssh key 4head
Hey guys i recently started a course processors. We recently got introduced to the concept of a multi-level machine. I tink that i got it, but i am not sure whether it's 100% correct, so could anyone correct me?
-Level 5 = high-level language (js, java, c++, c#) -> easy for humans, hard for machine
compiler translates to assembly language:
-level 4 = assembly (2nd lowest language), understandable for humans, already a bit lighter for the machine
assembler translates to machine code
-level 3 = Operating system architecture level:
OS already interprets and executes some data when it's complete, else if it still needs to be modified it will go on to level 2:
-level 2 = Instruction set architecture level:
sets the paths between the registers and the alu
-level 1 = so registers get the data from the OS level, then send it over to the ALU, which performs some logical functions and eventually the data goes from the alu back to the registers for storage using a bus, using the paths sets in level 2
-level 0 = handle I/O
yeah i got that same picture in my lecture but i didn't understand it
which part are you having trouble understanding?
especially the different between the digital logic level and the Microarchitecuter
microarch level
digital logic is nand gates
transistors that alter the flow of electric signals
microarchitecture is cpu level, what happens inside a cpu
as well as other microchips
Ooowh so that's just basically handling the actual output?
yeah i understand the cpu pretty well, just the difference between these 2 layers were a bit thin to me
So the last level is basically just handling the electric signals, the data gates and eventually just the I/O overall?
basically yeah, like logic gates and transistors without any specific bigger picture going on
I love you
microarchitecture would be taking the hardware and designing some bigger picture, some actual operations like math and i/o
ahhh i see
thank you so much!
I see, it's basically just going from:
surface -> internal -> output
no way u put c++ and java in the same level lmao
jokes aside, yeah, that's pretty right
c++ is the daddy of java
Alright thank you!
C is the daddy of most languages
Okay, I don't seem to be understanding how to create a discord attachment using canvas and discord js v14.50. I've copy pasta'd working code I had once made before, and changed up all necessary things that discord changed since 13 -> 14 and I simply can't figure out how / why it's not displaying the image even tho testing it outside of an embed, does indeed create the image correctly.
//an array w/ 10 of these
tenCards.push({
name: animeFromDB[i].name,
url: animeFromDB[i].url,
anime: animeFromDB[i].anime_name,
anime_url: animeFromDB[i].anime_url,
img_url: animeFromDB[i].img_url,
rarity: rarity
})
//create the images, and store it in the array above
let results = await client.createCards(tenCards)
client.createCards = async (cardArray) => {
//deleted irrelavent code for discords character limit
for(i=0;i<cardArray.length;i++) {
//deleted more code not needed to see
const canvas = createCanvas(245, 370)
const ctx = canvas.getContext('2d')
const image = await loadImage(cardArray[i].img_url)
ctx.drawImage(image, 0, 0, image.naturalWidth, image.naturalHeight, 19, 30, 210, 325)
const fullCard = await loadImage(border)
ctx.drawImage(fullCard, 0, 0)
cardArray[i].finalCard = new AttachmentBuilder(canvas.toBuffer(), {name: `image.png`}) //create the image, store it into the array and return it.
}
return cardArray
}
//build my embeds for pagination
for(i=0;i<results.length;i++) {
let newEmbed = client.quickEmbed(`${results[i].name}`,`Rarity: ${results[i].rarity}\nAnime: [${results[i].anime}](${results[i].anime_url})`)
newEmbed.setImage(`attachment://image.png`)
if(results.length <= 1) {
newEmbed.setFooter({text: `${interaction.user.tag}`, icon_url: interaction.user.avatarURL()})
} else {
newEmbed.setFooter({text: `${interaction.user.tag} - Page: ${i+1} / ${results.length}`, icon_url: interaction.user.avatarURL()})
}
pages.push(newEmbed)
}
//during the pagination code, I do send the file.
//[page].finalCard = current page (for index) and .finalCard is the buffered canvas image
await interaction.editReply({embeds: [pages[page]], components: [row], files: [pages[page].finalCard], ephemeral: true})
You should use Embed Builder
Eh, no I shouldn't in this case but ty for the suggestion
- I do actually.
client.quickEmbed is the embed builder but my own function
AttachmentBuilder {
attachment: <Buffer 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 f5 00 00 01 72 08 06 00 00 00 2d 73 9c b1 00 00 00 06 62 4b 47 44 00 ff 00 ff 00 ff a0 bd a7 ... 127857 more bytes>, name: 'image.png',
description: undefined
}
EmbedBuilder {
data: {
color: 15277667,
title: 'Yuki',
description: 'Rarity: Common\n' +
'Anime: [One Piece](https://myanimelist.net/anime/21/One_Piece)',
image: { url: 'attachment://image.png' },
footer: { text: 'Miyuka#0425 - Page: 1 / 10', icon_url: undefined }
}
}
Another note is that console logging results[0].finalCard and my first embed both show image data, just not displaying it within the message itself.
I don't really see why that could be happening but it might be that you're naming all of the attachments with the exact same name, so it might be conflicting or something
Also for the <EmbedBuilder>.setFooter() method, it's supposed to be iconURL, not icon_url
yeah forgot about dat
I do have a question. How is it able to see 'attachment://image.png' does discord just like cache all of them so doing that just picks the one named that
Discord gives embeds access to the files that are currently uploaded to the message/response, that's how it's able to see it
Also apparently when editing, the option is called attachments, not files
https://discord.js.org/#/docs/discord.js/14.7.1/typedef/WebhookEditMessageOptions
This is some weird inconsistency, and I don't see an actual difference between those options
I figured it out. Everything was correct. I was editing code for a different menu unknowingly and did a major 
anyhoo, ty for helping 😛
Note: attachments didn't work, files did
Very nice
Hey guys, the xor is like: either a or b, but not both right? But if we negate this xor, wouldnt we have to use the the demorgan law? So it would become: both a and b but not only one (so either a or b)?
exclusive or
true + true = false
true + false = true
false + false = false iirc
false + true = true
Also i hate demorgan law
yeye
yeah ~
~xor
i thought about using the demorgan law: so ~(a xor b) = ~(A and B) but not ~A or ~B
Yeahhh that was the only topic i stopped paying attention in after 5 minutes lmaoo
ahh no problem
I think that i did it worng
the correct answer would be negation xor = (a and b) or not a and not b
makes sense because xor means, either one of both true.
const express = require("express");
const bodyParser = require("body-parser");
const fs = require("fs");
const path = require("path");
const VerificAccessModule = require("./modules/MiddlewareModule/VerificAccessModule");
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
const folders = fs.readdirSync(path.join(__dirname, "routers"));
for (const folder of folders) {
const folderInFolders = fs.readdirSync(path.join(__dirname, "routers", folder));
for (const file of folderInFolders) {
const router = require(path.join(__dirname, "routers", folder, file));
app.use('/verific/access/:id', VerificAccessModule, router)
}
}
app.listen(1234)
return Cannot GET /verific/access/1326419047847/teste
I'm creating an api, and it returns a "cannot get"
what could i be doing wrong?
VerificAccessModule:
module.exports = async (req, res, next) => {
next()
}
we cant read your code magically
Cannot get means that you're trying to access an endpoint (presumably through your browser) that doesn't have GET in its settings
c.c
so i was making an Afk system,
in my schema i save them as given below
const mongoose = require("mongoose");
const User = mongoose.Schema({
userId: { type: String, unique: true },
afk: {
message: { type: String },
stamp: { type: Number, default: 0 },
},
});
module.exports = mongoose.model("user", User);
i have a afk command which saves the message and Date.now() for the stamp.
now i want when an user who is afk gets mentioned the bot sends an reply that they are afk.
so i trying this in my messageCreate:
if (message.mentions.users.size) {
let mentionedUsers = message.mentions.users.array();
for (let i = 0; i < mentionedUsers.length; i++) {
const afkuser = await User.findOne({ userId: mentionedUsers[i].id })
if (afkuser.afk.message != null && afkuser.afk.stamp > 1) {
await message.reply({
embeds: [
new EmbedBuilder()
.setColor(client.config.embedColor)
.setDescription(
`**${afkuser.tag}** went AFK <t:${Math.floor(
afkuser.afk.stamp / 1000
)}:R> for: **${afkuser.afk.message}**`
),
],
});
}
}
}
but this doesnt seem to work / give any errors. any suggestions what should i do?
Any way where i can know if the user who is afk gets mentions in a message?
Btw consider moving from Express to something more actively maintained
- Express determines the behavior of your callbacks by their number of arguments
- Express does not support HTTP/2.0
async/awaitisn't fully supported either: Express will not handleasyncroute errors- Express uses some deprecated/abandoned dependencies from a long time ago
A very close alternative is https://fastify.io/ , which is also generally faster too
voltrex maintains fastify confirmined
What discord.js version are you using?
14
i kinda mixed it up with chat gpt's codes so probably messed up cuz it gave v12 code i guess ☠️☠️
The <Collection>.array() method no longer exists, you can just use the keys() method to get the IDs of the users mentioned, and use it accordingly
Basically
for (const userId of message.mentions.users.keys()) {
...
}
oh thanks alot. I'll try it
is there much difference?
Difference in the library or the performance or something?
difference in writing, performance, way of creating an instance, that stuff
There are a few differences but the API is very similar to Express, so you can easily migrate to it, Fastify is much more performant than Express
I was seeing that I can create a route, passing an object, but if I want to continue with the functions, does it accept the method, query string passing the in the url?
("/router/:id")
fastify.route({
method: 'GET',
url: '/',
schema: {
// request needs to have a querystring with a `name` parameter
querystring: {
name: { type: 'string' }
},
// the response needs to be an object with an `hello` property of type 'string'
response: {
200: {
type: 'object',
properties: {
hello: { type: 'string' }
}
}
}
},
// this function is executed for every request before the handler is executed
preHandler: async (request, reply) => {
// E.g. check authentication
},
handler: async (request, reply) => {
return { hello: 'world' }
}
})
seems to be better to work with than the express
Yeah, though it also supports what you said
https://www.fastify.io/docs/latest/Reference/Routes/#url-building
imagine not using net or Stream 😏
Express is no longer maintained?
it still is
a
It is maintained, just not actively
I am using PM2 in Linux VPS to host my Discord Bot is there any way to do something that when files updated/deleted/added PM2 restart the process?
i'm not sure if this is the right place, but I wanted to take a moment to thank the bot review team for making the verification experience such a great one, thank you!
pm2 can track file states yes, but I don't think that'd be a good thing
why?
it can easily snowball your bot into ratelimit
every single file change will make it restart
just dont make more than 1000 changes per day :^)
or 250 if you have 4 shards

Hi
Could someone give me a quick guide to markdown in top.gg bot descriptions (like bold text and stuff)?
should be more or less the same as on discord
** for bold
_ for italic
for headers
should look into commonmark examples as it should practically be the same
Ah, I didn't realise how to do headers. I thought that was just bold. Ok thanks
Yeah headers still aren't working unless I did it wrong
You could style the text instead of markdown
how?
oh right, thanks
It just appears like normal text on my bot's page, same when using **
Like no bold or anything
headers need a space
# works
#doesnt
they changed it, AGAIN
really, how many commits does discord make for codeblock highlighting
lmao
(+ "oi?")
wtf
typing and sending code blocks looks completely different in colors
oi bruv
maybe they changed the syntax highlighting colors for the chat but forgot to do it for the preview
I've used mariaDB enough to usually figure out little issues I end up running into however this is stumping me. Simply trying to insert about 8 items into a row fails.
https://scs.twilightgamez.net/J6OJk.png
https://scs.twilightgamez.net/Yp8Co.png
Though this is the exact way I'd write my query for other things I insert. It's simply copy pasta'd
(node:internal/stream_base_commons:190:23) {
text: "You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'character, character_url, anime, anime_url, image_url, rarity) VALUES ('Miyuk...' at line 1",
sql: "INSERT INTO collection (user, user_id, character, character_url, anime, anime_url, image_url, rarity) VALUES (?, ?, ?, ?, ?, ?, ?, ?) - parameters:['Miyuka','160679942319767552','Takeuchi','https://myanimelist.net/character/105721/Takeuchi','Koe no Katachi...]",
fatal: false,
errno: 1064,
sqlState: '42000',
code: 'ER_PARSE_ERROR'
}
Resolved. Appearently it's not a good idea to use "character" as a name for a column
I'd console log data to check if it has "ID"
This also seems like a terrifically inefficient way to store data
Columns exist for a reason
I'd rather focus on why this error is happening instead of critiquing his code lol
Quickdb: 👀
Btw, don't think that'll work at all unless js somehow manages to subtract two non-numbers
i was following this tutorial to play around with cf workers but how come nothing happens when i do this
npm run ngrok is just ngrok http 8787
nvm got it
What's the api URL I need to hit to get basic guild info like roles/emojis?
I thought it was https://discordapp.com/api/guilds/ with the users access token, am I wrong?
If you want a guild in general, it's https://discord.com/api/v.../guilds/... where the second ... is the guild ID
In which you'll get this: https://discord.com/developers/docs/resources/guild#get-guild-example-response
Integrate your service with Discord — whether it's a bot or a game or whatever your wildest imagination can come up with.
Ah is it just me missing the version?
But does it take more than just the users access token for the bearer token?
Since I was getting 401 this whole time so I assume I probably need to pass the client secret or something.
yeah you'll need to exchange it for some access token
I already have the users access token, they already logged in.
try writing Bearer instead of Token
That's just it's preview, it's already bearer
I'm going to try bot, I think that may be why.
Damn all 401. HMMMMMM
I just tried the equivalent and I also got 401, but when hitting /users/@me, I get data. Maybe you don't have the right scopes?
What scope would be required to grab specific guild info? Hmm
I think just guilds, though I'm about to check
hm, I still don't get any data
my guess would be that /guilds/... is not available on user oauth. there's /users/@me/guilds, but that doesn't include stuff like roles or emojis
Right.
It wanted the bots token with Bot as the scheme, which I guess makes sense.
Which can be nasty on the api if it request a lot... hmm
So need to do hella caching.
Hey quick question, how is it that a bot that has no privacy policy is allowed on app directory?
but then when i dont have it they take it down and send me an email asking me to add one? i still havent received a response
their TOS and privacy policy just literally takes you to their official server
Discord being shit with checking
Or the bot removing the privacy policy
That's actually fine iirc
If they're referring to a channel with the tos/privacy policy
I see, ig as long as the link is valid
Hmm well it just takes you to general chat
In their server but anyway any updates on how long they might take to respond ?
If they have a channel for the tos/privacy policy
It’s been 2 months since I fixed and reapplied for app dir
Still no reply from them
How should i know lol
you're supposed to know this kind of stuff smh
What’s the best paid javascript obfuscator? I preferably want something that takes place in the United States?
I’ll pay any amount but I’m not sure which paid ones are good
Don’t help this kid, he’s obfuscating a clearly illegal and unethical script for stealing user data
He will claim it’s not but it’s the only reason he wants to obfuscate anything
then why aren't they banned yet
did you try reporting them
Nope
A while back he had this project advertised on his portfolio website, it was a bookmark script or some shit that stole people’s information
And he was advertising it as a paid software
I take it that he got some morons to pay for it and now he wants to use that to obfuscate it
Seems he took down his portfolio, still in his GitHub description though:
lol 14 years old full stack is some next level shi
still working on that illegal shit smh
also people love to call themselves "full stack developer", but in my case that's the last thing I want to be called
please let me stay on backend only 😭
having to be a fullstack dev at work sucks
Fr
basically you already a full-stack engineer if you are using frameworks like next.js or svelte kit xD
Yeah apparently
anyone who genuinely calls themselves a fullstack dev is just saying they're willing to work more for the same wage
Fullstack dev is just a way to make yourself sound more accomplished tbh
Software developer > all titles
I don’t even call myself a software developer
I haven’t earned that title
I just say I’m a computer science student
bud you write software
Yeah but something about the connotation of software developer makes me sound much smarter than I am
Feels misleading
Made a todo app -> Software developer
i call myself programmer
coder
I was a Java dev before, and now I think I am a web dev
I am migrating to kotlin nowadays
All devs are fullstack unless your employer wants to pay less
You'll still work as fullstack nonetheless
any reason why my bot cant capture audio from my server any more?
did something on discords end change recently is what I mean
never mind it was just windows screwing my audio settings again
Help find the error
After I added bot.event on message the bot stopped responding to commands
What the fuck are these comments
Also your code contains some bots.gg api key
@earnest phoenix
ohhhhh
why...the fuck
Russian comments
u didn't
And reset token
ah ok
anyway, I don't refer to the comments or the token, I referred to this
if something is taking more than 3 if clauses you seriously need to consider whether there isn't a better option
please use a command handler and don't keep everything inside a single file
holy shit
me when that defeats the purpose of a map in the first place
MongoServerError: E11000 duplicate key error collection: test.mewoprofilemodels index: parentOneID_1 dup key: { parentOneID: null }
What does this mean? parentOneID isn't even a key in my schema
owh my bad
gameMode.isEmpty() ? System.out.println("yes") : System.out.println("no");```why is this throwing a: not a statement error?
well, ternary is usually used for assignment: var a = b ? c : d, im not sure if java enforces this or allows it to be free floating like js does
owh really interesting, js and c++ did allow the ternary to be used like the thing i sent
using it for anything else is code stink tbh
println doesn't return anything, which is why it can't be used to my knowledge
IF the method returns something iirc
java blocks a lot of things that c++ allows u to do
otherwise no
i see
mostly because u end up shooting urself in the foot
because this works: System.out.println(true ? "yeah" : "no")
so java must have a thing that says a ternary type cannot return void
void
yes
Ah i see, so it's only for assingment and returning of values! Noted, thanks guys 🙂
it has to be used in some expression
use ternaries sparsely, if u abuse it you'll end up with an unreadable mess
Yeah
a ? b ? c : d : e ? f : g
lmao
I also had a quick question, is it possible to change the behaviour of a method based on parameters provided or not? So for example Method1() = random word gets logged in console, Method1(String word) = word gets logged in console?
Somebody in my class claimed that they’re “faster” but if you compare the resulting bytecode they’re the same instructions
how about this
true
? true
? true
? "yeah"
: "no"
: "ew no"
: "NO"
Yes
yes, by overloading it
Huhh
That’s called method overloading
They have to have unique type signatures in their parameter list though
Is it like a interface? I just got that in the lecture
Gives me ideas for esolangs
Wdym?
Owh no my bad i am stupid
lmao
sorry, Thanks for the response i will read into overloading.
public void doShit(String in) {
System.out.println(in);
}
public void doShit() {
System.out.println("You forgot the param");
}
public boolean doShit(int a, int b) {
return a > b;
}
what does this constraint mean?
alright who wrote that
idk xD
means u can't have a method with 2 (effectively) equal signatures
public void doShit(String in) {
...
}
public void doShit(String in) {
...
}
for example
?
if you need help with a specific bot, you need to ask in that bot's server
i love you
did you know that
🤨
ghey
why does fucking java need a library for everything
or have to make multiple lines just to convert one thing to another
ah yes want this string in hex? sure add these 5 million lines that probably wont work
fucking good that I left that shithole
Integer.toHexString(number) or "%X".formatted(number)/String.format("%X", number)
the latter also allows padding
anyway, it doesn't need a lib for everything, far from that actually
contrary to js for example
fuck stinkoverflow then
smh
been dealing with a situation regarding verifying someones email
like
why
is java just shit
I wanna port that shit bot over to python so I can finally rest in peace
why dont u use regex?
lemme get you an example
yourmom@example.com
see this shit?
yes?
replaceAll("(?<=\\.[A-Za-z]+)\\W.+$", "")
actually, \W
forgot uppercase wildcards are the inverse of the regular version
you'd probably want a library for that though
but anyway, java isn't that bad, you just got overcomplicated SO answers
fucking finally
thanks big stink

are you using quickdb
pro what
try mapping while removing the prefix in the string
though you'd probably be better off using it structurally how it should be
given it has get and set methods (so you could set a points key which has an array/map of the points directly)
oh yeah true mb
go inspect element on the site and copy the svg tag
Does anyone know if theres any events for mongoose for when there is data modified, added or removed from a schema
question
can i use fetch in localhost
trying to test my api before release
if not what is the best way to test it
try it, if not try 127.0.0.1:port
i am
yes you can
yup figured it out
was using slash commands on my bot but i had put different names on the options and diffferent when i was executing them
Not true
I’ve got a shit ton of projects I would love to securely obfuscate
I didn’t do anything to hurt the server lol
if you're writing malicious software and asking for help here, that is a net negative here
so, what do you have to say about that bookmark info stealer?
I’m not asking for help on any specific project 
What do you want me to say about it?
That I found something in that interests me for the time being?
so it's malicious
It bypasses browser functions and does shit
but it's malicious
yes they are
seriously it's not hard to say "yeah I write malicious software so what" unless you're like 6 years old
I’m not tryna be banned off of discord

then why are you asking here
I asked about a paid JavaScript obfuscator, not for a script to steal someone’s ip
God is reading that difficult
you asked for it while having a relationship with writing malicious software
that's. like arguing that you want weed while having a history of smoking it 24/7 and saying it's for something else
For a friend
"yeah what's your social security number? I forgot mine :("
"oh and give me your credit card number as well"
And seriously, I don't know if it makes sense to explain it to him. He will keep doing what he does until he gets bored of it or gets banned from discord
It's probably best to just ignore him and that's it
Ion know what you want with me but at the same time I’m not wasting my time talking to you.
Yes, I have the script which can do that stuff. It mainly bypasses browser functions and does other stuff like crash sites and browsers.
I’m asking for a paid JavaScript obfuscator where I can obfuscate my current and new projects. Me asking for something doesn’t mean it had to do with my bookmarklet..
shut up kid
That’s the thing, this is my last message of the day because I’m not wasting my time with you lol
- I plan on not getting muted from the chat
Bye bye
I thought you said you wouldn't waste time talking with me yet you replied again lul
- hope you get banned from programming discords and other forums for making such malicious software
who would guess karma exists :SurprisedPikachu:
average 14 year old script kiddie
hey, i have defined an array like this; char arr[] = new char[5];
How do i check if this array is empty tho
array.length
would display 5
I thought about looping throught the whole array and checking whether all values are 0
but maybe there's a faster way?
You can’t check if the array is empty really. Once you initialize the array, everything inside is filled with the default value for that type
I know, but that's the way it's defined using new char[5]
the default type is set to 0
yes, but it's not empty
Okay yeah there you got me
An allocated array will never be empty (unless you make the size 0 for some reason)
I see. I maybe will just loop over the file and see whether all values are 0
@slim heart you created the Easy Applications bot? I thought it got discontinued since it was offline for months.
discord deleted it, new account was made
ah i see, that sucks :/
so ik this might sound stupid but is using a json file as a small db for a side project ok?
I am always making backup for it too
like the db stores very basic stuff
no
😭
it's fine for read-only data, only
but a database takes so much space
Yes you can, but there’s so many other solutions that is much better
SQLite
sqlite: 👀
hhhhh
Yeah
oh good to know
tho it all depends on how you create your table
if you create a table with no id it wont add an id
I'll make sure to do a little research before creating it then
play around with sqlite, if u mess anything up simply create another file
i have a bot that gets media files from reddit but a lot of them end up as a gifv file and doesnt get displayed in an embed but it does outside an embed in a message by itself, any way to fix this
Of course you do, you need access to the imgur api
thanks
Can anyone help with that? 🙂
{"name":"DiscordAPIError","stack":"DiscordAPIError: Missing Access\n at RequestHandler.execute (/root/home/ufomain/node_modules/discord.js/src/rest/RequestHandler.js:350:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async RequestHandler.push (/root/home/ufomain/node_modules/discord.js/src/rest/RequestHandler.js:51:14)\n at async MessageManager._fetchId (/root/home/ufomain/node_modules/discord.js/src/managers/MessageManager.js:221:18)","message":"Missing Access"}
The bot has no access, the error itself says so
yeah ik sir! i mean how can i prevent that?
- it isnt a command so i cant check each time a command is run, basically its a bot where it updates stats so how can i check if the bot has access in a specific channel before executing what should be done?
and what if i dont have access to register on imgur?
There's probably nothing you can do about it. Gifv is a video file, so you can't put it in the discord embed in any way, but you can download its .mp4 version using the API and send it as a file on the channel
You can also do so that first your bot sends the embed and then in the next message it will send the link itself, thanks to which this gifv link will turn into a gif right under the embed
@deft wolf any idea?
You can probably use this to check your bot's permissions on a given channel but keep in mind that i checked it on discord.js v13 and based on message event. You'd have to tweak it in a way that suits what you want to do
message.guild.me.permissionsIn(message.channel).has("BAN_MEMBERS")
If you are using discord.js v14 then you will have to use something like this
missing access means the bot cannot access something because its out of reach
for example a message in a channel that the bot does not have view permissions, so it cannot see it at all
or anything in a guild that the bot is not in anymore
maybe you have some message id stored in your database that is from a guild that the bot was kicked from
Bots can edit messages that are older than 2 weeks or does it only apply to deleting them?
i believe the 2 week rule only applies to bulk delete
Okay, good to know
but the bot needs read message history permission to access them anyway
question
client.guilds.cache.get(serverid)
what does this return if it didnt find the guild?
it returns undefined
yeah noticed that
@plush dirge
need some help please
b.forEach(async (z) => {
const channelid = z.Top3_ID;
const msgid = z.Msg_Top3_ID;
const serverid = z.Server_ID;
if (channelid != "?") {
var topguild = client.guilds.cache.get(serverid);
if (topguild != undefined) {
var mess = topguild.channels.cache?.get(channelid);
if (
mess != undefined &&
topguild.me.permissionsIn(mess.id).has("SEND_MESSAGES")
) {
var edit = mess.messages
.fetch(msgid)
?.then((msg) => msg?.edit({ embeds: [embed] }));
}
}
}
});
});```
i have that, but i am still getting that
```{"name":"DiscordAPIError","stack":"DiscordAPIError: Missing Access\n at RequestHandler.execute (/root/home/ufomain/node_modules/discord.js/src/rest/RequestHandler.js:350:13)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async RequestHandler.push (/root/home/ufomain/node_modules/discord.js/src/rest/RequestHandler.js:51:14)\n at async MessageManager._fetchId (/root/home/ufomain/node_modules/discord.js/src/managers/MessageManager.js:221:18)","message":"Missing Access"}```
why my id was banned? i wont understand
ping mod
ping top of the member list
anyone help me
it was banned for being an alt
no that was my main id
and your other was banned for raiding servers

@solemn latch can you do the appeals tag
i forgot the link
this is what?
@spark flint help me pls to be unbanned
☠️
pls ping

whom should i ping?
no one, he already pinged a moderator
no one can help apart from moderators
if you wish to view your ban reason, you can search it in #mod-logs
that was my main id not an alt

If someone you know has been banned here, then direct them to open a support ticket (select Account/Login issues and then Ban Appeals).
Here's more resources to read through regarding appeals: Ban Appeals
If someone you know has been banned here, then direct them to open a support ticket (select Account/Login issues and then Ban Appeals).
Here's more resources to read through regarding appeals: Ban Appeals
Anyone can help :)?
- Don't use the
varkeyword to declare variables, see https://javascript.info/var for the reasons - Don't use the non-strict equality operators (
==/!=), use the strict ones instead (===/!==) - What discord.js version are you using?
Clear for the var, but its working fine for all channels
(It shows true also for all of them)
I am logging to check which channels is causing that, and really not sure which ones
What perms does the bot need to edit his own messages?
The bot only needs the View Channel permission to edit it's own message
And refer to my 3rd question
Then whats wrong, i really dont understand lol, its v13
I have been hitting my head for the last couple of days tryin to figure out whats wrong😹
You're checking for the Send Messages permission, that's not the same as the View Channel permission, and update to v14
I will try view channel, but shouldnt it give "undefined" anyways if it didnt find the channel?
The bot can get all the channels even if it doesn't have the permission to see the contents of that channel, that's how it works
Ohhhhh gonna try and do the view channel then, thanks alot 🐐
you also need to account for the possibility that someone with mod powers could have deleted the bot message
although if that happened the error would be different
but still a good idea to prevent it from possibly happening by adding a catch to the fetch
const msg = await mess.messages.fetch(msgid).catch(() => null);
if(!msg) {
console.log("failed to fetch message")
return
}
await msg.edit({ embeds: [embed] }).catch(() => console.log("failed to edit message"))
``` for example
I do 🙂
The ?. is more then enough, if it didnt find the message it just wont continue
See the var edit...
the ?. does not work for errors
only for undefined and null
fetch throws an error if it doesnt find the message
hmmm i tested it though? It worked for me, i tried deleting it and it didnt send an error
but you can do this (await messages.fetch().catch(() => null))?.edit(...) or this messages.fetch().then(...).catch(...)
the missing access error you were getting is an example of a fetch error
the ?. didnt work, you still got the missing access error
I will check and let u know 🤝 thanks though🤝
I just made so much, by just making a website and sell rose (valentine day) to people from my school
im so happy!!
hello does somebody know how i can define user on line 6 after interaction.
let user = interaction.user
still didn't work
no
with ping its <@${interaction.user.id}> right
yes
Yea so what do you want to do
when somebody does >afk (reasonhere) that the bot would reply with the username that triggered the command
you mean ephemeral reply?
oh wait i already got it it was ${message.user.username} sorry
you didnt describe your actual problem, but im assuming your issue is this
Interactions and messages are two different things
That's why I hate ADHD
take a screenshot of the error and post it :^)
Alr I will do that next time it's fixed thanks for being so helpfull
hey
while(stringConcat(guessedLetters) == toGuess) {```toGuess here is a string
the method stringconcat gives me a string as well
but it's an empty string so it concats to values: nullnullnullnull
it always returns me true, even when i update the guessedLetters array so that each entry in the array contains a real non-null value
i've logged them, i literally found that guessedLetters had exact the same value as toGuess, it still logged false when using == or equals()
You cannot compare strings with == reliably
Always use .equals for comparing value, use == for comparing references
Are you sure one of them didn’t have a space of some sort?
Also I don’t know what the method stringConcat does
Yeah pretty sure. Uhmm wait i will get back to you in a minute, i might be on the good track
timcat
aurcatel
if your code is broken, just add the timcat() method to your broken section
if your code works, use aurelcat() to break it
if you wanna split atoms and break the universe how we know it, use both at the same time
lmao
just use .equals
looping over individual chars is pretty inefficient (which is why that's the last check in String.equals method)
also, if you're doing str += otherstring just don't
concatting strings in a loop is terrible for performance
if you must do it then use StringBuilder
Owh
thank you for telling me! Will change it
while(stringConcat(correctGuessed)){```also, i made this function that Stringconcat that returns a boolean value yeh
but the while loop iterates one extra cycle after the bool was true
any suggestions on how to fix this
I wouldn’t be looping like that in the first place
I might have fixed it by checking the value before initializing the while loop
Not sure what you’re doing but it seems wrong
Trying to repeat a certain amount of functions
while that condition runs
It doesn’t feel like the right condition
Nor does it feel like that function should be returning a boolean
It should, in that strinconcat i am checking whether the guessed letters form the correct word, if that's the case it returns true else it's false.
I changed the while already, added a ! obv
Why not just build a string from the guessed letters…?
I suppose I’m confused on the design choices you’ve made
because they can be guessed in any order
that better not be an implementation of bogosort or something similar
it's a hangman game
everything works fine, right now it's just not quitting the loop as you can see, it always waits one cycle extra
I still don’t see why you need to concat the individual letters of the word if you can already tell when the user has won without doing that
how?
Once there is no more . left in the word you’re printing then the game is over
But wouldn't that still make the while loop enter 1 cycle extra
There’s probably even better conditions but I can’t think of them right now
Anyones Best Dpy Programmer Here?
Don’t ask to ask, just ask your question
I am the best programmer fr fr
🗿
cant you do something like while(word.contains("."))
Yeah
yeah
yeah
Hehehhe
I got one simple dimple super simple question about my designing tho
this is my second week learning java right
I have created 4 seperate classes to handle my code, but one class that holds my actual game has still quite some methods and lines, is that okay?
The class only holds methods regarding it's class object tho, so no other bogus from other classes appear there
And they are methods that are really needed, just helper methods basically
i mean, the actual code is what matters
you can organize it in any way you see fit
Yeah i see
but my teacher once explained that too much code, too much methods etc are a bad practice
but like, wtf should i else do lmao
I kept my main clean asf tho
made my own class for input/output, game handling etc
so yeah
its pretty much a matter of logic and reason, if you feel like it belongs there put it there, if you feel like a piece of code makes more sense as a standalone method, do it
if we talk about logic and semantics, there are 2 main reasons to split a code into multiple functions/methods
1 is the code being reusable, if a piece of code is gonna be used in more than one place or is usable as a standalone function
2 the code has different parts and sections that are relatively easy to distinguish
those are the two main reasons to separate the code into more than one method/function
Ah i see, thank you very much!
How does the api sent the Web hook auth token set on the account. I dont see it in my request under anything header, body, or query... any one know what I'm doing wrong
Or does it just not sent it at all
I mean the Web hooks section of a bot page, where it says url and token to use to auth the request.
is there any simple way of making a writable that does nothing with the data that gets passed? literally just outputs it on the data event? (nodejs)
should be in the headers
like a passthrough stream?
yes




