#development
1 messages Ā· Page 252 of 1
lmfao
not much I can do about it lul, I've dried as much as I could already but lots of ifs are unavoidable
it just wants to force us to split the code into more smaller functions
thats how you get better scores
one of my coworkers follows the "up to 20 lines per function" rule to the point
it's...not a pleasant sight
I'd rather have my monolithic functions than jump around in the source to find what's doing what
lmao
anyone tried hosting lavalink server on datalix?
i would assume the experience is the same as hosting it anywhere else
probably, I just wanted to know how many resources it usually consume
you sound like my dad
I think about hosting bot + lavalink on a same vps
I did it before (hosting both on same vps), it consumes a lot
unless your bot is music-focused, it's seldom advised not to add it
most of your resources will go to streaming the music
really? starting to sound like lavalink is the problem
not really, it's fairly well optimized but music in general takes a lot of resources
at least when you start scalling
what about this blazingly fastā¢ļø implementation of lavalink in RustĀ©ļø https://github.com/Hearth-Industries/Hearth
of course it was abandoned
it rusted away*
thats one problem i found with rust
people write wrappers or some additional features around another crate/package and dont update them
which makes the other package not work because of version conflicts
theyre so eager to write the next blazingly fast solution that they forgot they probably have to maintain it too
lifecycle of every rust project:
- project
- project2
- project3
- project4
- project-new
- project-next
- project-but-maintained
- project-maintained-for-life-i-swear
project that is a fork of abandoned project-maintained-for-life-i-swear that is a fork of project-but-maintained that is a fork of project-next that is an updated fork of project4 that is an improved version of project3 that is a remake of project2 with new rust features
is anyone hosting a good lavalink server 24/7? with uptime mostly 90%+
or maybe know a good one
no
yes ill run a server specifically for you for free pookie
on my aws account with a linked credit card and no limit
Really? š³
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
Does anyone know how to use Application Emojis?
If so can you explain to me how to use them?
what's a good domain registrar that has wildcard email forwarding?
any domain registrar with cloudflareā¢ļø
i didn't think cloudflareĀ© ā ā⢠had wildcard email forwarding
they just added that recently yeah, quite new
that explains why this website doesn't tell you about it
inflation is no fun
does cloudflare really force you to use their nameservers? i dont think that will be an issue for me. i'm just pointing to vercel hosting using A records. i dont use google workspace or anything like that
well
how do you expect to use cloudflare if you aren't using their nameservers?
in terms of using it as a DNS you 100% need to
anything else not sure about
AI says this. cloudflare is doing more stuff than other providers
Most domain registrars and web hosting providers allow you to use any nameservers you choose, giving you the flexibility to use third-party DNS services or manage your own DNS if you prefer.```
yeah
i just need a registrar and not a full DNS right? but it doesn't really hurt either
I love cloudflare
Adding Cloudflare introduces another layer of complexity
It may slightly increase response times due to the extra hop```
i should just get a registrar
idk
i cant decide
wow, i like their CEO
"We believe deeply in a free and open Internet. Spaceship is the first step toward a giant leap forward in Internet freedom", said Richard Kirkendall, Spaceship CEO. "In a world of closed ecosystems and platforms with limited flexibility, our goal with Spaceship is to bring together many products and services and empower them to work seamlessly together. The focus of our entire business is user choice and ease of use, placing full ownership and power in the hands of our customers."
The problem with a lot of software systems is that people have different ideas on how something should be
i could still choose to use cloudflare dns nameservers and all the services too
while having the domains registered at spaceship
Ah, das rite! Ze problem with software systems is zat everyone has zeir own ideas. But really, zey should all just do zee same thing, ja? Make everything nice and uniformāmuch less chaos zat way!

so spaceship should work for me
Is there a better way I could do this?
const query = `
INSERT INTO guilds (guild_id, owner_id, name, settings)
VALUES (?, ?, ?, ?)
`;
const values = [
guild.id, // guild_id
guild.ownerId || 'Unknown', // owner_id
guild.name, // name
JSON.stringify({ // settings
ChatBot: {
Enabled :false,
Channel :null
},
AutoRole: {
Enabled :false,
Roles :{}
},
Welcoming: {
Enabled :false,
Channel :null
}
})
];
await client.db.query(query, values);
Just wondering if i could format settings better
There's no other way you would do that, unless you set the default values somewhere as a constant so you aren't creating the object each time you insert
but other than that its fine
ok
i've been using datalix for a few days now and i regret my choice
22|DDC | 200
22|DDC | Error sending email: Error: Connection timeout
22|DDC | at SMTPConnection._formatError (/root/DDC/node_modules/nodemailer/lib/smtp-connection/index.js:798:19)
22|DDC | at SMTPConnection._onError (/root/DDC/node_modules/nodemailer/lib/smtp-connection/index.js:784:20)
22|DDC | at Timeout.<anonymous> (/root/DDC/node_modules/nodemailer/lib/smtp-connection/index.js:237:22)
22|DDC | at listOnTimeout (node:internal/timers:581:17)
22|DDC | at process.processTimers (node:internal/timers:519:7) {
22|DDC | code: 'ETIMEDOUT',
22|DDC | command: 'CONN'```
i deadass can't connect with nodemailer.
Stay with me now, one folder WORKS. The nodemailer in that folder sends the data perfectly fine.
However, my other folder now just does not work at all...
On my other vps it DOES.
i curse the ppl in this chat that were saying that datalix is good š
That's why I always write that I only host a bot and database 
nah but deadass what can be the problem
I was giving my opinion, and it works for me 
Isn't there any information that email ports are disabled by default?
how is one folder working and the other not lmao
i got 2 email bots running
I have no idea, but I guess that's what support is for
how would i enable ports/change the firewall rules?
!!??!!!??!!!!
oops
thanks for cursing us
š
but that doesn't change the fact that one emailing server does work and the other doesn't though
well you can't jump into conclusion if you haven't enabled the "mail ports"
if it's disabled by default from them, then they're expecting mail servers won't work, and you can't expect it to work properly
they are preventing mail abuse that's hosted under their company
can someone help me i dont understand why the bot cannot find the path?
It looks like the asset folder is inside the src folder and the error shows that the src folder is missing in the path
So I think changing the path to ./src/asset/fonts/NerkoOne-Regular.ttf should work
you can also do
fn updateCullingState(hideVehicle = false, hideChassis = false)
is this for beamng
no!!!!
the types would automatically be inferred as boolean? as derived from default parameter values
this is for custom culling system written in ts transpiled to lua š
what
beamng culling
i see fn i see rust
yes
ok trying

One message removed from a suspended account.
anyone know how to handle nodejs code discord when I attempt to timout the bot it seem the bot didn't response but Yes so how to handle ?
uh...what?
One message removed from a suspended account.
I imagine you actually tried to say "how to prevent the interaction from saying the app didnt respond when it actually did"
if so, deferReply()
best english
uh i use prefix
show code, show error
how can i get some roles here? š
Hell nah
Ghost ping alert
More like support scam alert
or become a discord bot developer and get it verified on top.gg
other ways idk
These are the easiest
this is the one i really want to get š©
yup
then go for it
make a bot and donāt use github
it is not that hard
true
create your own stuff
One message removed from a suspended account.
One message removed from a suspended account.
but only have 1 public bot. itās in 95 servers rn
One message removed from a suspended account.
why?
One message removed from a suspended account.
One message removed from a suspended account.
read this before adding bot to top.gg:
https://support.top.gg/support/solutions/articles/73000502502-bot-guidelines
On your bot page, you are not allowed to: Include spam/junk, or completely irrelevant/nonsensical characters or phrases in your bot description or intentionally use up characters to reach the 200 character limit Mention NSFW or include any NSF...
One message removed from a suspended account.
One message removed from a suspended account.
looks like i meet all of these š
my bots not verified yet tho. so itāll be locked soon until i decide to verify it
whatās wrong with github?
many people like to fork a code and just submit it as a custom made bot
you can check there are many in #mod-logs
ahh okay i see, i got ya.
im thinking of self hosting my own gitlab instance or something similar and hosting my code there
that way i can also configure my own self hosted pipelines and stuff
also get the added benefit of microsoft not using my code to train their models
i used gitlab at my old company and its very very very similar to github
Apologies I fell asleep yesterday xD.
I use the Motor library for mongo, and it's hosted on Atlas services indeed
could you show some of your code? like a command that uses mongodb
aint no way
the installer for my latest version of an app i made
the checksums match
with malware from 3 years ago
gg
many times the installers themselves are flagged
@commands.command()
async def pay(self, ctx, member:disnake.Member, amount):
economyDB = await self.bot.db.economy.find_one({"_id": ctx.author.id})
if not economyDB:await self.create_account(ctx.author)
economyDB = await self.bot.db.economy.find_one({"_id": ctx.author.id})
MemberEconomyDB = await self.bot.db.economy.find_one({"_id": member.id})
if not MemberEconomyDB:await self.create_account(member)
MemberEconomyDB = await self.bot.db.economy.find_one({"_id": member.id})
economyDB["coins"] -= amount
MemberEconomyDB["coins"] += amount
await self.bot.db.economy.replace_one({"_id": ctx.author.id}, economyDB)
await self.bot.db.economy.replace_one({"_id": member.id}, MemberEconomyDB)
Just wrote this simple command for better understanding, there are some differences in main code but it's mostly done this way
like if you use a certain installer software/system that is often used for malware, the installer itself will be flagged, including all the legit software that uses the same installer
tauri is just false positives all over
i think the actual exe is like 16/72 detections
ripperino
can you show where you create the motor instance?
there's a file called db in utility folder which is defined this way
and in main file it's loaded like this
jishaku shows 121 threads and it becomes a lot laggier, usually it's on under 50 threads normally
where is your bot hosted?
Currently I'm hosting on my computer, but that's not really an issue as I tried vps which did give the same problem
Do you think it could be because of Atlas and not really due to mongo
how manny cpus does your pc have?
cores/threads
Ah it's Ryzen 6800hx and 3060 gpu, I don't know exactly how many threads it comes with
16 threads
well there
so heres a thing you could try
Motor uses the Python standard libraryās ThreadPoolExecutor to defer network operations to threads. By default, the executor uses at most five threads per CPU core on your system; to override the default set the environment variable MOTOR_MAX_WORKERS.
5*24 = 120 threads max
well mine usually goes till 120~ and that's when it becomes laggy, but the problem is that it never comes down from 120 once it hits it as far as I know
I showed the problem to a different person earlier and they said a bot shouldn't ideally go above 50 threads
I think the reason why it goes 120 threads is due to the math you just did
so try setting MOTOR_MAX_WORKERS=1
and see how it goes
not sure if thats global max or max per cpu, or max per process
is your bot sharded?
yeh it's autosharded tho
class MyBot(commands.AutoShardedBot):
that way
how many shards rn?
27 shards for 27k guilds?
ah 27
im not sure how sharding works on python, if each shard has a separate db connection or not
but try setting the MOTOR_MAX_WORKERS variable
considering python isn't multithreaded, I'd imagine each shard is a subprocess
where do I set it to be precise in the files I just showed you
makes sense
its an env variable, you set it when starting the process
MOTOR_MAX_WORKERS=1 python myfile.py
you can also set it using os i think
os.environ['MOTOR_MAX_WORKERS'] = '1'
has to be right at the start of the file, before motor is imported
client = AsyncIOMotorClient('mongodb://localhost:27017', maxPoolSize=10)
Shouldn't this be fine or?
lemme try it out
i dont see that option in the latest docs, might have been a thing that was removed
Alright so should I put it in the utility.db file or in the main.py where bot is hosted
i checked the code, the variable is accessed on Motor's __init blocks, so its safe to put it anywhere as long as it is before the motor client is created
so yeah you can put it in utility db
it seems the option was changed to options={pool_options={max_pool_size}}
or something like that
here's what it says
property max_pool_size: float
The maximum allowable number of concurrent connections to each connected server. Requests to a server will block if there are maxPoolSize outstanding connections to the requested server. Defaults to 100. Cannot be 0.When a serverās pool has reached max_pool_size, operations for that server block waiting for a socket to be returned to the pool. If waitQueueTimeoutMS is set, a blocked operation will raise ConnectionFailure after a timeout. By default waitQueueTimeoutMS is not set.
wait actually this should work
docs are so confusing
but still pool size and thread size are two different things, so tyr setting both and see what happens
Alright I'm trying with the env method first
alright let me know how it goes
anyone else here using the new application emojis yet
Yea
ahh ok i see
I set it to 1 first and the database commands became really really slow, I believe it's because ofc it's gonna take a lot longer to update data on db now
But the threads did get limit to 40.
I've now changed it from poolsize of 1 to poolsize of 50, I'm just gonna play with numbers and see where I get a set amount of threads which can run the bot smoothly without taking away from performance maybe
or other approach I've planned is to catche up data more properly
i have to apply for intents and if discord accepts i can verify my bot š idk why im so scared to verify it though.
kinda scared to apply to be top.gg. verified too.
idk y.
yeah find a balance between pool size and threads
as for code improvements, you can cache more and reduce the number of queries
see if you can find queries that can be merged together
for example the pay command could both take money from the user and give money to the other user in a single query
how many you got on it
I just started moving mine over to it for one bot today
Everyone's a bit nervous when they do it for the first time, always worth it in the end. Top.gg will help you out a lot if you plan properly
got 480 emojis in there
You're correct, I should work on the code-side optimizations
if your bot gets really really big, you can also switch to an eventual consistency model between db and local caches
question
does client.channels.fetch can send a message to different channel from another shard?
Just do the broadcasteval thing you donāt wanna fetch a channel on the wrong shard
I did it once and it started replying to commands twice cause it received events on both clusters
ahh
If you're using a rest client without caching the result then yes. Theoretically, you don't even need to fetch a channel to send a message to it if using a proper rest client
any channel ID is valid to send messages to except for category and stage channels
Also, events are never sent to shards for guilds they weren't meant to cover
Thats literally a Discord gateway thing
Almost got a stable version of my project ready just need to test the setup page and automatic database setup
Hey guys, so i want a very light AI to implement in my bot. What it will essentially do is process certain messages and flag them if they match certain criteria. Are you guys aware of any cheap one i could implement. Again not heavy at all
I believe that now we can implement chat gpt with our bot but I don't know how to do it
wit.ai is free
any tips on improving large classes in js?
and it's not a class that gets used once just saying xd
What is it for
vehicle render culling for game
should i just create files under "utils" and make methods that just invoke those?
okayyy
how's this look for a vote tracking leaderboard page to get people to go to top.gg and vote for my bot?
and something else is the bot might get big as it will be a public one
line count rarely matters, your class might be 5000 lines but lighter and faster than a class with 20
make sure you state somewhere that they'll be publicly shown
that'll be tricky. maybe i need to add a register command or something
or i could update my top.gg bot description page saying that upvotes will be public
i'm also going to show last months leaderboard once i have that data. it'll be Last Month's Champions
that makes no sense wat
do png's have to be a specific size to be in an embed?
Yeah confused me too but I removed that bit and it started working normally again
Using hybrid sharding so idk if that would make a difference for it
I donāt believe so
no, it'll be resized down to fit
thank you! i got it
i have 3 different versions of my game and i wanted them to be easily distinguished so i just added thumbnails
whatcha think?
I think that emojis in buttons would be better than just text
you might be right, let me see š¤
Text is a bit cramped too
Also the developed by is a bit unnecessary, aren't u the dev of the bot?
yes
just a server promo tactic
@pine willow i accepted your app to own my server by the way
Wouldn't work anyway, they'd see "Developed by @unknown-user"
which?
ah yea
this one
yeahh I'm in every server that the bot is in so I'm leaving it there and gonna take it off before I verify it
It's not verified and I join every server it's in
i've never looked into open sourcing the bot.. isn't that basically publishing the code for everyone to see?
I don't fear people stealing my bot, not because of license but because I'd be impressed if someone got it working without instructions
with that it's undeniable that you made it
you underestimated sayuri deep learning framework
watch as i install gradle and rage quit
but what are the perks of open sourcing it though?
Deep forgetting framework when
someone actually did steal my game lol
they asked for my bot, played it so many times that they re-coded it, kicked my bot out then banned me from their server and renamed it "tap war"
Some tools have free license for OS devs
1: it's transparent about about it does
2: people can help improve your bot
And that too
my short term memory already does it
Also yes, when u open source the project you'll have a proof of ownership if you ever need to prove
As you'll have the date of when you published
Anyone who contests will have to prove their project existed before yours
so i should probably do that asap for top.gg verification sake
and what's the best way to do this?
github?
Github yes
yes
also, license is important too
Don't forget a .gitignore btw
Lest you upload your whole node_modules

I highly recommend a visual git software of some kind, whether it be GitHub desktop, SourceTree, GitKraken, etc
I've seen github before so I think i'm gonna go with github
Coding without a remote repository is begging for windows to do funny things with your files
The software I mentioned all works with GitHub
The things I was talking about is just a way to visualize your repository
Just use git, github has webpage anyway
Itās much easier to get started with than the command line git stuff
SourceTree is free and so is GitHub desktop
I believe thereās also a built in feature for GitHub on visual studio code if you use that
Thatāll work just fine
yes i use vsc
The wonders of Microsoftās monopoly over the programming world š
lol ok so the recommendations are to open source my bot and save my project in another place like git
and license the bot?
Thatās what git is meant for, version control
Basically what GitHub does is provides a cloud server for your code pretty much
ohhhh
And makes it available to the internet
github did my indentation dirty
Git is a software that tracks files on your local system
so on git i'd be open sourcing and version controlling
Git tracks your files locally, then you can ācommitā those files to a remote location, such as GitHub
Github is a hub for gits, like uhhh...phub is a hub for p
Git does not open source by default. You can have open source and closed source projects being tracked with git
:^)
also, licensing is basically just chosing a license type, and adding it to your package.json, optionally also creating a LICENSE.md file with the license terms
if a project does not have any license defined, its assumed to be unlicensed, which means nobody is allowed to do anything with it until you give permission
once you add a license, then you state which things users can and cannot do with your project
Keep in mind that this does not stop anyone from copying your code. In fact, it makes it a lot easier to copy your code. However, you are the owner and itās easy to prove since itās there for everyone to see
ofc whether people follow the license correctly or not is up to them, but it does give you legal precedent if you ever need/want to pursue legal action
Most people are really not going to copy your code
Itās rare that youāll have an issue with that
say that to all the bot clones out there
Eh, I meant having a problem with someone that can genuinely compete with your bot
most of those people waant their bot to be cloned imo
tbf people stealing ideas is worse than stealing code most times
especially if they can develop your idea faster than you
Yeah, Iāll admit that I steal code all the time
I want someone to steal my ideas, that way I can move onto something else ;p
please someone steal my bot description builder idea. that way I can never finish it
xD
Hey guys, i created a turing machine simulator in js but theres one problem, i rather have it compiled to an exe file instead of a website. How would i do so? I waa thinking about electronjs
does it have an UI?
electron alone will triple the resource usage
if not, node has an experimental executable compiler/packager i believe
otherwise pick your poison: electron, nwjs, tauri, ultralight, and dozens of other alternatives
some use webview, some use chromium/other browsers, some use GTK, some use custom engines, some use QT, etc...
I just created a Bot that removes hoisted names
So when i have the name ! Sky to be at the top. It would change it to Sky
xD
yeah
š poison
this automaton shit is fun that i created. only problem is that when we have a loop in the tape it fills your whole ram. So i need to use some detector to detect when there's an infinite loop on the tape
set some sort of loop counter and throw if it exceeds a certain number
it's a bit harder than that.
I don't even think it's a solved problem yet
called the halting problem.
Instead i want to use another turing machine that keeps track of the output of the fiest turing machine and based on that detects whether we have loops.
well cant help with that xD
@solemn latch might be able to help? Right?? Rightt???
It is a solved problem
The solution is that Alan Turing formally proved it was impossible
isnt one of the solutions to reduce/limit the problem?
Maybe, idk that much about it
I just remember having to go over the formal proof that it was fundamentally impossible to solve
Waffle
ur aspnetboilerplate sucks when trying to swap to a diff ef core provider
migrations don't get recognized when they are made
for a second i thought you were speaking german
yeah Iāve been told that the ABP framework is dogshit now
aspnetboilerplate
:c
yea
Itās still useful but itās apparently very deprecated
and not to mention the only actual information is for https://abp.io which is the successor to aspnetboilerplate
ABP Platform provides an open-source framework on top of ASP.NET Core with Angular, Blazor, and MVC UI options to create scalable line of business web apps.
and it is a price gouge
š
I'd rather just learn how to use aspnet from scratch than that shite
One message removed from a suspended account.
@wheat mesa @sharp geyser You don't really need a boilerplate at all, asp.net identity is a free framework made by microsoft for authentication with accounts and database, you can search for any component library using either js/jquery/etc or you can use mvc page or blazor with blazor components
There's a lot of guides and info online for free if you're willing to read and learn š
Then you can make something nice like this (blazor) with built-in accounts and oauth support using asp.net identity
Indeed I know of it
aspnetboilerplate basically just did all you said, but meshed it together for you so you didn't have to bother setting it all up yourself
I definitely think if the boilerplate worked, it'd be good for quick prototyping
Any actual implementation i'd likely do it all myself anyway just because I don't like working with an unfamiliar codebase
No, it is the same as trying to reduce infinity.
Reducing infinity still remains infinity
is there any recommand module for chatbot ?
i mean
you dont reduce infinity to infinity
you reduce it into a fixed set / upper bound
like a while(true) that increments and breaks if i > 1000
regardless of program state
its not a real solution to the problem
its a bandaid solution for specific configurations
My setup page works fully now with automatic db setup, email system and admin account creation
pog
btw you can put those inline
in that case, what if the language that this specific turning machine describes has 150000 loops, and then ends in a final state?
it's a very bold assumption to limit loops
just limit it to 150001 loops. that way it's fixed forever and there could never be a problem
:^)
It already is inline though š
It's an option menu that's in disable state
i meant the option being inline with the label
it didn't hit me right when the options gets plenty of spacing but none better said options vs. the label
Eh no really that would also be bad for mobile it really only needs some bottom padding
flex-wap
flex your waps
wireless access points?
wealth aquisition potions
should I cool my server with a 600m³/h turbine
anybody know a good email server i can easily self-host which is lightweight and i can use my own custom domains on?
I have a domain (support@domain.com) which myself and one other should be able to view all emails being sent to this mailbox. i also have another email (noreply@domain.com) which will only be used to programmatically dispatch emails
ive tried https://github.com/docker-mailserver/docker-mailserver and its very good and lightweight (assuming you disable the intensive features like virus scanning)
All hyperlinks are blocked
it also includes an IMAP server for syncing emails
maintainer is also very active
i dont know much about email servers, however, we will eventually want to expand into something like support.discord.com, how easy would it be to integrated this email server with something like zendesk or alternatives?
also, does it allow me to have specific emails accessible by multiple users?
and lastly, is it possible to restrict registration so only certain people can make an account?
other people wouldnt be able to make a new account anyways unless you install some kind of dashboard, you create the users and mailboxes manually on the server so thats not a problem
as for support, i believe stuff like zendesk allow you to use a custom domain, but the emails are actually routed to their own servers so your server wouldnt receive the tickets, unless you choose to use an open source zendesk alternative that lets you have a ticket system on your own server
since docker mailserver uses postfix which is very common for sending/receiving emails, youd have no problem integrating some kind of open source ticket system with it
may I warn you, prepare for a lot of headache regarding sending emails
indeed there is a bit of setup involved to make it work properly
and not get sent to spam immediately
hotmail/gmail will send you to spam on sight without questions asked
but if you configure everything correctly you shouldnt have any issues, i have my own custom mailserver and domain and my emails dont get sent to spam, even by gmail
at the beginning they did though until gmail and other providers starts trusting your emails
do you have any good setup articles you would recommend (other than docs)
im using ubuntu too for context
the best place is probably the setup documentation https://docker-mailserver.github.io/docker-mailserver/v10.1/examples/tutorials/basic-installation/
there is quite a bit of mail server jargon to understand so if you dont know much about mail signing techniques or how mail servers work read this https://docker-mailserver.github.io/docker-mailserver/latest/introduction/
otherwise you risk not understanding everything
when i run this, it gives me 2024-08-30 19:25:50+00:00 WARN open-dkim: No entries found, no keys to make. not quite sure why?
im not familiar with dkim and i tried googling this but cant see anything
did you get a key file? you probably havent copied it in the right place
My bot is officially doomed. Two weeks ago someone made a post on Reddit that they were looking for a bot similar to mine because they won't add mine due to the offensive name
-1 server I guess 
RIP
send me the reddit url
you'll never recover from this
which is (the name)
anyone here use mongodb in their bot?
if so, have you read their "open source" (lol) license recently
apparently if you use it, and you use it in a service (this includes BOTS) you have to make ALL the following open source
nuh uh
Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available.
so
switching to MySQL lul
you have to make open your backups, databases, user interfaces, automations, monitoring softeware, backups, backup software, hosting software
The fuck
i dont use mongo, but just learned about this from a yt video
and if you think im gaslighting, https://www.mongodb.com/legal/licensing/server-side-public-license
section 13
their "foss" license is bullshit
and youre responsible for making it ALL downloadable on YOUR servers lol
right down to linux source
redditard lol
the kernel and everything
A growing number of companies are abandoning open source in favour of "source available" licences that protect their commercial interests. Unfortunately, not all are presenting the changes clearly; using ambiguous or misleading phrases that make their proprietary software sound like it's still open source.
Others still are straight up claiming t...
they probably wont bother going after small services though it would only become a problem once youre big or just dont like you then they can go "youre breaking our license"
but still
do you want to deal with their bullshit?
and its not just mongo doing this, check the vid
OSI has basically spoken out about some of these and said theyre nothing but a booby trap to hit projects with once they become a success
but yeah it isnt charming whatsoever
redis is another obvious one
redis honestly isnt anything too impressive when it comes to its software
in a nut shell a cache server, definitely many alternatives or forks of it
memcached is good i heard
i use a memory table in mysql
yeah anything will work really
technically they dont say theyre open source
only that the source is available
who would wanna use mongo for anything serious anyways
question
how you ssl mongodb
aside from using their atlas service, where they deal with the performance implications of their database, i dont see anyone seriously self hosting mongodb for a business
way too clunky
this is for people that mostly dont know how to design traditional relational databases
Too bad, your karma will never recover ever again
no idea, i dont use it
you put it behind a reverse proxy like nginx, or behind a service like cloudflare
mongo itself probably does have ssl config somewhere, but it would be safer to proxy it i guess
ahhh
Yeah, self-hosing a database is not what serious companies do.
what serious companies do
What do you need remote database access for anyway? Just for development/testing or cross-vps access?
Yeah, just develop everything on one machine and only grow vertically.
No what i was getting at xD
More of you can use a few SSH clients to setup a tunnel from your computer to the server to access localhost resources instead of configuring and exposing stuff (if you don't have a firewall setup)
That's if you don't need cross-vps access
run the webserver on the arbiter node and bot as a cluster on the replica nodes
couple everything together
i was wondering because it kept saying enable ssl and tsl
somthing like that
But do you need it for development on your computer or cross-vps access?
What's up with redis?
nah i was just wondering
You could use this API? ā¬9/month for 10k words per day
https://www.neutrinoapi.com/api/bad-word-filter/
Bad word filtering - Detect bad words, swear words and profanity in a given text
Or just build some good regex filters
regex likely isnt the way to go
You need to have some pre processing to convert unicode characters to the A-Z range which is an exhaustive list then you can walk the words list. Even then, bad words are contextual like a common one being the name of a country is very close to a slur
Do you think AI will somehow someday replace programmers? As a young programmer, this question has always been in my mind, and I always overthink about it and it sometimes makes me feel really uncomfortable
AI will never replace me, there is no way AI will become so fucked up 
no
What makes you think in this way?
Possibly eventually, but a future to that may be a distance away. A lot of stuff that Ai just cannot handle right now is how interactions between unknown/new libs are in their code bases and topics that just haven't really been talked about. A lot of stuff can be "hallucinated" leading to errors. A lot of code is also made for addressing human issues and these issues may be horribly nuanced which would require human intervention through multiple steps or a prompt be incredibly specific.
For now, though
and its based on your code
yea ive seen copilot say random stuff that doesnt exist
Well, I also think it will eventually be possible, however it's really hard to predict the future due to how fast technology improves
also the ai trend is slowly but surely dying
The thing that people need to start worrying about is AGi (Artificial General Intelligence). We currently have ANi (Artificial Narrow Intelligence) where, as reis said, most Ais today are really just LLMs at their core.
It is, as it's turning into such a normal thing in daily life
People either use it a lot while doing their daily work or they just haven't ever heard of AI
But one that's really able to experience the world and be devout towards self improvement in all or specific fields will be troublesome. So long as they have the tools to actually do that. The logic behind such a thing is also very hard to picture
The limiting factor right now is data. They don't experience the world like we do
cheapest way i can think of is to convert a profanity filter list into a map. Then split the text input by spaces and iterate over each word and do a map lookup to see if any of the words are in the list.
https://huggingface.co/datasets/shawarmas/profanity-filter/blob/main/list.txt
Yo this is great! Gotta contact them cuz imagine a bot in a few thousands servers and imagine the cost š
thank you!
š„
nginx misconfiguration type shi
@earnest phoenix @earnest phoenix @earnest phoenix ong
what
is this a trap
forgot ssl
I provided keys
but didn't tell nginx to actually use ssl
webassembly users realising javascript is still faster for web related stuff
Yea because people choose web assembly because it's totally faster /s 
Web assembly is more used for actual client side apps and experience in your own languages without being restricted by javascript even if it has inital downloading and loading times
Also the only reason why web assembly has these issues is because browsers and big companies like Google don't want to invest into it
another problem is security
what happens when you allow wasm to do the same capabilities of javascript?
Javascript is already sandboxed
question is, can one implement a sandbox for wasm in the same way that works for js
but that would be a separate team, i think
and isn't v8 very beeg
i believe wasm already has its own sandbox no?
Hey, are there any expert in wavelink?
expert has a very broad meaning
Okay, someone who is familiar with wavelink/lavalink and knows/understands what he/she/* is doing.
why not just ask your question
Is the reward an ice cream
It does. That's why rust is a bad idea for wasm and zig is great.
No
Is this the place for bot stuff?
yes
Ok so i'm trying to make a bot.
yea?
IDK how to.
@pine willow knows how to. They will help you
wha
who said that
I know nothing.
or any other
Just use AI to code it for you
Sky will help then
lol
Well um the character of the bot is a female Tiger Shark from the game "Changed".
And what should the bot do???
Be silly, chat, act like the character.
My goodness.
You can use shapes.inc for that... Its a Ai chatbot service for discord bots
Can you DM me the link?
Login/sign up. Give the bot a personality and yea
The bad thing is. When the bot joins a server it will write some text
i have my own ai bot many more
its cached quite heavily on top.gg's side
try going to https://top.gg/bot/1213495446035628072/edit, add a random space in the description and then save
that will refresh cache
ok thank you, let me try that
now it worked
also i need to do that every day?
(in my code i have it to update every 60 minutes)
nope
you dont need to worry about having an accurate up to date count
it will refresh cache every few hours
you mean i don't need to have it to update every 60 minutes in my bot code?
thats up to you
the server count is just a metric shown on the site and doesn't really mean anything else
ok got it, thank you
Your username just reminded me to work on my bot
how?
Nicknames??
hm
just switch to # 
My bot has more then !
....
Makes sense?
what about 0
wow nice bro
All chars that are used for hoisting
Why
000000000000000000 Myname and you are at the top
like im also third in the list right now with just my normal name
since it has a 0 at the start
do you wanna see my bot ?
???
yeah but people will just go one char down
one 0 is enough
if you block that they use 1
and so on
forever
sure
I will find a way to prevent hoisting completly
at some point
its not really possible
Never seen someone trying it
svr link on my bio plz join bot Name VIson
yeah because its not possible
if you say so
One message removed from a suspended account.
One message removed from a suspended account.
One message removed from a suspended account.
yeah
One message removed from a suspended account.
its a cat and mouse game
One message removed from a suspended account.
One message removed from a suspended account.
just make every username 
just enforce starting the username with an ascii character fr
0000 Im_Cool frfr
oh wait 0 is also ascii
so are other numbers
and i can still advertise when my name starts with A too
it's not like 100% of the people that see it are interested anyways
not even half, idk that's my own stats
in discord how do i change the channel name to something like:
š¤ | Test
this person did it
You need special symbol
empty ascii symbol i assume?
Try this one ļø±
seems to be escaping the spaces
That's mobile no?
nope
correct, using ts
Sometimes you can't escape it tho
Had to use old require for my command manager
you cant use require in esm tho iirc
Hi, i have this bug i do have change it beteween the defereply and editreply it show show error
const { ApplicationCommandType, EmbedBuilder, ApplicationCommandOptionType } = require('discord.js');
const axios = require('axios');
module.exports = {
name: 'lookup',
description: "Look up a Minecraft player's online status and last login time",
type: ApplicationCommandType.ChatInput,
cooldown: 10000, // Cooldown of 10 seconds
options: [
{
name: 'player',
description: 'Minecraft player username',
type: ApplicationCommandOptionType.String,
required: true // The player option is required
}
],
run: async (client, interaction) => {
const playerName = interaction.options.getString('player');
try {
// Send an initial response to acknowledge the interaction
await interaction.reply({ content: 'š Fetching player data, please wait...', ephemeral: true });
// Define the API URL and your Hypixel API key (replace with your actual key)
const apiKey = process.env.APIKEY;
const url = `https://api.hypixel.net/player?key=${apiKey}&name=${playerName}`;
// Fetch the player's data from the Hypixel API
const response = await axios.get(url);
const playerData = response.data;
if (!playerData.success) {
// If fetching player data fails
return await interaction.editReply({ content: 'ā Failed to fetch player data. Please check the username and try again.', ephemeral: true });
}
// Extract the necessary information
const { lastLogin, online } = playerData.player;
const lastLoginDate = new Date(lastLogin).toLocaleString();
const onlineStatus = online ? 'Online' : 'Offline';
// Create an embed to display the player's status
const embed = new EmbedBuilder()
.setTitle(`Minecraft Player Lookup: ${playerName}`)
.setColor(online ? '#00FF00' : '#FF0000') // Green for online, Red for offline
.addFields(
{ name: 'Status', value: onlineStatus, inline: true },
{ name: 'Last Login', value: lastLoginDate, inline: true }
)
.setFooter({ text: `Requested by ${interaction.user.tag}`, iconURL: interaction.user.displayAvatarURL({ dynamic: true }) })
.setTimestamp();
// Edit the initial response with the final result
await interaction.editReply({ content: ' ', embeds: [embed] });
} catch (error) {
console.error('Error fetching player data:', error.message);
// Handle errors and send a final message
await interaction.editReply({ content: 'ā An error occurred while fetching player data. Please try again later.', ephemeral: true });
}
}
};
What should i do?
Error [InteractionNotReplied]: The reply to this interaction has not been sent or deferred.
like this?
where is the error coming from? can you show the full error stack trace?
can i see index.js around line 214?
// Handle slash commands
client.on('interactionCreate', async interaction => {
if (!interaction.isCommand()) return;
const { commandName } = interaction;
const command = client.commands.get(commandName);
if (!command) return;
try {
if (command.userPerms || command.botPerms) {
if (!interaction.memberPermissions.has(PermissionsBitField.resolve(command.userPerms || [])))
return interaction.reply({ content: `You don't have \`${command.userPerms}\` permissions.`, ephemeral: true });
if (!interaction.guild.members.cache.get(client.user.id).permissions.has(PermissionsBitField.resolve(command.botPerms || [])))
return interaction.reply({ content: `I don't have \`${command.botPerms}\` permissions.`, ephemeral: true });
}
await command.run(client, interaction);
} catch (error) {
console.error('Error handling command:', error);
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true });
}
});```
which line exactly is 214?
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true })```
alright i see whats going on
await command.run(client, interaction); may cause an error before or after a defer/reply. if the error happens after a defer/reply, the error block cannot use reply on the same interaction
you can check whether the interaction has already been replied to or not
if yes, use editReply or followup
if no, then you can use reply
you can test whether a reply was already sent or not using if(interaction.replied)
also, to avoid unhandled error event, you need to add a .catch() to it inside the catch block
as well as inside the permission checks (or add await to them there)
ok
for example:
if (!interaction.memberPermissions.has(PermissionsBitField.resolve(command.userPerms || []))) {
await interaction.reply({ content: `You don't have \`${command.userPerms}\` permissions.`, ephemeral: true });
return;
}
if (!interaction.guild.members.cache.get(client.user.id).permissions.has(PermissionsBitField.resolve(command.botPerms || []))) {
await interaction.reply({ content: `I don't have \`${command.botPerms}\` permissions.`, ephemeral: true });
return;
}
} catch (error) {
console.error('Error handling command:', error);
if(interaction.replied) {
interaction.editReply({ content: 'There was an error while executing this command!', ephemeral: true })
.catch(e => console.error("an error occured trying to send an error message"));
} else {
interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true })
.catch(e => console.error("an error occured trying to send an error message"));
}
}
or you can add another try {} catch {} with await in there
okay
i am confuse abit with above
const { Collection, PermissionsBitField } = require('discord.js');
const ms = require('ms');
const cooldowns = new Collection();
module.exports = (client) => {
client.on('interactionCreate', async interaction => {
if (interaction.type === 4 && interaction.commandName) {
const command = client.commands.get(interaction.commandName);
if (command && command.autocomplete) {
const choices = [];
await command.autocomplete(interaction, choices);
return;
}
}
if (interaction.type !== 2) return;
const command = client.commands.get(interaction.commandName);
if (!command) {
client.commands.delete(interaction.commandName);
return;
}
try {
// Check for cooldown
if (command.cooldown) {
const key = `${command.name}-${interaction.user.id}`;
if (cooldowns.has(key)) {
const remaining = ms(cooldowns.get(key) - Date.now(), { long: true });
return interaction.reply({ content: `Please wait ${remaining} before reusing this command.`, ephemeral: true });
}
cooldowns.set(key, Date.now() + command.cooldown);
setTimeout(() => cooldowns.delete(key), command.cooldown);
}
// Permission checks
if (command.userPerms || command.botPerms) {
if (command.userPerms && !interaction.memberPermissions.has(PermissionsBitField.resolve(command.userPerms))) {
return interaction.reply({ content: `You don't have \`${command.userPerms.join(', ')}\` permissions.`, ephemeral: true });
}
if (command.botPerms && !interaction.guild.members.cache.get(client.user.id).permissions.has(PermissionsBitField.resolve(command.botPerms))) {
return interaction.reply({ content: `I don't have \`${command.botPerms.join(', ')}\` permissions.`, ephemeral: true });
}
}
// Run the command
await command.run(client, interaction);
} catch (error) {
console.error('Error handling command:', error);
if (interaction.replied || interaction.deferred) {
await interaction.editReply({ content: 'There was an error while executing this command!', ephemeral: true }).catch(console.error);
} else {
await interaction.reply({ content: 'There was an error while executing this command!', ephemeral: true }).catch(console.error);
}
}
});
};
looks like this is a command error, lookup.js
possible i could make if the console has error make it send to the reply of bot
can you show lookup.js?
hmmm
from what i can see, axios throws an error on non-2xx status codes
so if you get an error in const response = await axios.get(url);, it will go directly to the catch() {} block, whichi explains the Error fetching player data: in your logs
but i dont know where unknown message is coming from
its being caused by guildMessageManager.edit()
but i dont see any message.edit() or initialReply.edit() in that code
is there any more code in there?
what is different?
the interaction.XXX
looks the same to me
what should i change then or it cant do anything?
for the unknown message error, i think you already changed it because i dont see where in the code it can be from
would need to test and see if a new error comes up
if you want the try catch from the interactionCreate.js to catch errors inside commands, then you need to either throw an error or let an error bubble up from inside the commands
so i just need to put console.log(error)?
now it work but it showing this
*Only you can see this
if the first reply is ephemeral, then all other edits will also be ephemeral i think
i dont know if you can change ephemeral type after intial response
if first reply is ephemeral, then all are ephemeral
if first reply is not ephemeral, then all are not ephemeral
only a followup can be different, an editreply cannot

I'm a competent and enthusiastic 3D artist who specializes in character and game model design. I am proficient in reference / idea creation, sculpting, texturing, rigging, and animation, and I can bring any character to life with my expertise. I have a strong understanding of game platforms and can develop characters that are suitable for a variety of games applications. I am a collaborative and deadline-oriented professional who is committed to delivering high-quality models that meet the needs of clients and developers and I was wondering if anyone have any commission request as my commission is currently open for different services relating to mod, 3D models both nsfw, furry, humaniod and non humaniod avatars, i also do edit to existing modelsā¦
Not the place for that
not here
They left probably a scam too
Seems like a steal
Hello?
It's me again.
I was here a lot earlier today.
I have a quesition.
See i have 2 bots and i want them to keep talking to each other without me sending anything in the chat for them to continue chatting.
I'm using Shapes, Inc if that helps.
So is there like a toggle or a switch or something that i need to turn or to fix this or something else?
Is anyone going to help me?
I spent all day working on these 2 bots.
I don't want it to go to waste. (T_T)
with slash commands its impossible
with text/prefix commands is possible, but you have to ask if shapes allows it
because those pre-build systems like shapes often ignore messages from other bots by default
I changed the first letter from upper case to lower case i even went into perfered name to be called i even went to converational example
I even used @s
In text.
Their name in the same chat .
with @s
well, your issue is specifically about the shapes' system, so you will have to ask them
Imma keep on trying to see if i can find somethin'.
with regular code it would be fairly easy to do
Code?
but systems like shapes are often limited in what they offer
What code?
tim are you a robot?
Do they work with discord bots?
perchance
š
yes, most people make bots using a real programming language, not premade systems
Can you send me a link to one?
have you ever coded before?
Nope, i have no experince in code stuff before.
then you would need to learn some basics first
^ i use javascript to create oliver for emaple (spelling went out the window)
.......
pick a programming language, for example some good to start with languages are javascript, python, C#, java
i started off taking classes during school hours
and look for some guides, or courses
or watch youtube
first time coding a discord bot i used youtube start off with discord api
after you chose a language, you will chose a discord library/package for that specific language. most languages have multiple options to chose from
for example javascript has discord.js, eris, oceanic, detritus, and more
im thinking trying oceanic as client
Thx for the help.
hi
hi
hi
buddy try to get active members instead
The voices in your head are telling you that managed libraries suck and you should just use the raw API or rather low level wrappers around the raw API like snowtransfer and cloudstorm
Anyways, there's my weekly not really ad but kinda ad
You can immediately or almost immediately support new Discord features and have full control over caching and fetching objects which puts the memory footprint in your control. Not immediately jumping to > 100MB just by importing a module is also really cool. The CPU overhead of a lot of these modules are also insane. When I switched from Discord.js to raw api, my bot had huge problems with message create eating up the most process tick time to almost or > 1 second per command and just switching and the conversion no added optimizations brought the performance inline
You also don't have to rewrite your bot every time d.js decides to change the methods required to create an embed footer for the 4th time that week
you dont even need a server
lol repl.it is basically paid now and they banned pinging
theyve gone full corporate https://replit.com/
Replit is an AI-powered software development & deployment platform for building, sharing, and shipping software fast.
it was banned quite a long ago
I suppose waving a banner saying "We haz bot host free, glitch bad" didn't work well
No way hosting costs money
totally a corporate move
not in that sense, in the sense they now look like every other corporate page
yeah it all went downhill after they added ai
obnoxious landing page animations ā
pricing page in header ā
learn more button in every section while scrolling ā
slogan on top of landing page ā
get a demo button ā
verdict = corporate page
help me design a saas website that doesnt look corporate then
i need features, pricing and demo (working demo without login, not sign up to receive a demo)
Hey it's not for support related to top.gg, but I wanted to ask, which service you use for website video ads, because google adsense it's not up for video ads on website.. but only mobile. And we want to integrate ads on our service
video ads on websites dont really work unless you're planning to actually play it in-between video content (like youtube)
reason being you cannot have autoplay audio, and nobody is going to press play on an ad
<DropdownMenu aria-label="Example with disabled actions" disabledKeys={["edit", "delete"]}>
{languages.map(({ code, name, flag }) => (
<DropdownItem onPress={() => router.push(`/${code}`)} endContent={<Image src={flag} sizes='sm'/>} key={code}>
{name}
</DropdownItem>
))}
</DropdownMenu>
i'm using i18n next router to my multi lang website but when i use router push not change a lang for inknown reason
here a vid for more understand
This link doesn't work, at least for me.
r/hmmmm
guys whats the purpose of sending logs through webhooks instead of directly via the bot. does it help with rate limits or smth? im talking about big bots like Dyno... i think it could be causing my rate-limit problem which requires me to shard into 4 right now even though im only at 1200 servers... i can only think of logging as causing the problems that rate-limit my bot for an hour on startup unless i shard it into 4. everything else only activates and runs after an user executes a command so it doesnt make sense...
im talking about like member update, role update, etc. logs
Read the red text 
He has already received help on #support. He couldn't find the support server to contact the owner
webhook on channel's limit is 30 sent webhooks (msgs)/minute
so its seperate from my bot's rate limit?
and if someone has a lot of logs coming in, it could be help to counter rate limits on my bot for sending too many messsages?
yeah
but in general it depends on preference
personally id keep general logs off-platform while maybe having the more serious logs like errors be logged on a webhook as well
sharding doesnt really affect rest api limits (unless you're abusing gateway requests), so your issue might be originating elsewhere
how does top.gg build their dynamic site map, creating "paginated" sitemaps for bots? I would like to achieve something similar for my blog / forums website
https://top.gg/dynamic-sitemap.xml
Top.gg uses nextjs, and likely uses their dynamic sitemap generation.
https://nextjs.org/learn-pages-router/seo/crawling-and-indexing/xml-sitemaps
I have a bit of a unique request, I have an authentication server and I want to put some apps behind it so it will only proxy requests through to the app if the user is authenticated with that gateway, but I'm not sure if I could do something like this with Nginx where all requests first hit my authentication server endpoint, and if the server responds positively to Nginx it will proxy the request to the app in question with some additional headers, is this possible or would I have to do the second proxy to the app through the authentication server?
you can pass cookies around no?
yeah why?
have the auth endpoint set a cookie, then read from nginx
thing is I want clients to not be able to touch the app at all until the authentication server authorizes them
what i sort of envision is that the authentication server will first intercept any request directed towards a specific app, sort of like cloudflare under attack mode but without the DNS part, so it will appear on the same domain and path and not under another endpoint
yes, you can control the redirects right from nginx
have it redirect to auth endpoint everytime the cookie isn't present/invalid
how would this look like with nginx config? can I just redirect to another internal url?
I cant really explain much cuz I'm not too far into nginx-fu, I just know it's possible
how i can change a lang for i18n next router i used
router.push("/de")
and not working its still goes to /en not /de
you want the app to not require any auth validation at all?
or does the app validate as well?
she wants a "gatekeeper" basically
dont allow any access without going through it
i think i can do this with an nginx module
its called auth_request and does exactly what i want to do
it also lets me set headers from a result of the first request
looks like people usually use it for active directory
but my server isnt cursed with microsoft yet so i just have my own auth server
xD
how do i even configure nginx to add this module though
ive never had to add a module to nginx before
i installed it through apt so its running under systemctl
what about this
This module is not built by default, it should be enabled with the --with-http_auth_request_module configuration parameter.
oh shit
so it is
diabolical using O2 optimization
real programmers live on the edge and use OFast
im using nextjs but im using app directory rather than pages. do you know how i could do it using app?
i was looking at this, but the part I don't understand is this:
export async function generateSitemaps() {
// Fetch the total number of products and calculate the number of sitemaps needed
return [{ id: 0 }, { id: 1 }, { id: 2 }, { id: 3 }]
}```
say if I had 10,000 posts, would I have an array of 10,000 objects?
Yep
and that would create 10,000 sitemaps with 1 url each correct?
If you wanted to go that route you can.
i ideally want to fetch all posts then split them into sitemaps of 50k urls
I haven't worked with large sitemaps before, so when you want multiple that's beyond my knowledge
yeah:
oh i misread
Yeah, so if you have 10,000 you just want one sitemap
10,000 was just an example number, it's more like a million plus and indefinitely scalable
š Google won't index all of them unless you have a ton of traffic
You may hurt your SEO by dumping an insanely large sitemap onto Google
The last time I had a larger sitemap(a few thousand pages) Google took quite awhile to index it all just because it was all low traffic content
this is my first time working with SEO / sitemaps etc so I'm just trying to get used to it, I assume if theres too many google would just 'give up'? if this is the case, should i sort my data by most relevant
There's priority and stuff if you need it.
But my preferred way is just to index less at first and focus on SEO on priority pages.
Then add more as I go.
Just so you establish yourself first
alright. the only reason i want to include all posts is because i want them to be indexed depending on the content of that post i suppose, e.g. whenever you google for an article, for example how to include multiple sitemaps then it would show up (however this is just an example)
@solemn latch would have 2 different sitemaps be a better approach?
/app/sitemap.ts -> base urls
/app/posts/sitemap.ts -> posts
@bitter granite
Your bot has a command -warn which requires Manage message. Please make sure your bot only requires permissions it truly needs.
oh thanks
chat, is there really any difference between == and === ?
I think A
20 === "20" // false
Question, Can i monetize my app if i am outside the supported countires but i have a global bank (wise for example)?
(Asking for the ones who tested it, and i am speaking about built in discord monetization)
From what I recall in the new terms, that are not taking effect until October, is that yes you can.
If you have other means to collect payment, and cannot use the built in monetization feature, they allow you to do so elsewhere
Ok i got a question.
What model should i have my shape/BOT use? I'm using Shapes, Inc.
Hello?
to do what?
No it, shows an AI model panel that i can have it use.
I'll screen shot it.
sure, give it try, im just saying you wont be able to get it listed in the top.gg bot list if you go public
but its fine for a personal bot


