#topgg-api

1 messages · Page 168 of 1

shrewd turtle
#

Anytime someone votes for the bot, it continues to send to the webhook even tho i've added res.send(200).end() at the end of it.

wraith pelican
#

Server count?

normal pilot
#

/start

sour sequoia
#

how can i do that it will send the bots vote count

#

i dont find it in the docs

ivory mirage
smoky marten
jagged pine
rain heart
#

It should still be functional

jagged pine
jovial kiln
#

It all works still last time I checked

shell gazelle
#

Can anyone gimme code for vote message in my support server's channel

#

That

#

If anyonw votes

#

A message is to be send by webhook to that channel

#

Pls gimme

shell gazelle
red magnet
#
  • skip
rancid turret
#

Top.gg sends webhook even if someone posted a review? or it is just for votes?

hushed path
#

which event I have to use for DM the user who has voted for my bot? I didn't found it in the doc

shell gazelle
#

not workin

#

help!

tepid osprey
#

client is not defined

shell gazelle
tepid osprey
#

define client

shell gazelle
shell gazelle
tepid osprey
#

I'm not going to spoon feed ppl, just read the documentation or wait for someone else to reply.

tepid osprey
shell gazelle
tepid osprey
shell gazelle
#

did not understood

#

there is now section

shell gazelle
#

@fathom hearth

#

HELP!

tepid osprey
#

Oh wait, you're using an unofficial package

shell gazelle
tepid osprey
#

Top.gg has made it's own library

restive otter
fathom hearth
shell gazelle
#

getting this error

#

how to fix??

smoky marten
#

noone is gonna spoonfeed you here
go learn to code before you try to code

fathom hearth
shell gazelle
#

hm.......

#

waiting

#

........

fathom hearth
#

give your code

shell gazelle
#

UwU

#

client.topgg = new Topgg({
    token: process.env.TOKEN, // Your top.gg token
    port: 22565, // Your host port
    auth: process.env.WEBHOOK // Webhook password
})

client.topgg.postWebhook(client);
client.on("newVote", (user, bot, isWeekend, query) => {
    if (query == "bot") {
        let embed = new Discord.MessageEmbed()
            .setColor('#ff0000')
            .setTitle(`New Spidey vote!!`)
            .addField("User", `<@!${user}>`, true)
            .addField("Bot", `<@!${bot}>`, true)
            .addField("Weekend", isWeekend, true)
            .setDescription("❤️Thank you for your precious Vote ❤️")
            .setThumbnail('https://i.gifer.com/7MGV.gif')
            .setTimestamp()
            .setFooter('Vote after 12 hour','https://top.gg/bot/879064887538618399/vote');
        client.channels.cache.get(885100240460472320).send(embed);
        // Enter the ID of the logs channel at ID
    }
    else if (query == "server") {
        let embed = new Discord.MessageEmbed()
            .setColor('#ff0000')
            .setTitle(`New server vote!!`)
            .addField("User", `<@!${user}>`, true)
            .addField("Server", `${bot}`, true)
            .setDescription("❤️Thank you for your precious Vote ❤️")
            .setThumbnail('https://i.gifer.com/7MGV.gif')
            .setTimestamp()
            .setFooter('Vote after 12 hour','https://top.gg/servers/875047284423917669/vote');
        client.channels.cache.get(885100240460472320).send(embed);
        // Enter the ID of the logs channel at ID
    }
})```
fathom hearth
#
const Discord = require('discord.js')
const client = new Discord.Client();
const { Topgg } = require("topgg-votes");

client.topgg = new Topgg({
    token: process.env.TOKEN, // Your top.gg token
    port: 22565, // Your host port
    auth: process.env.WEBHOOK // Webhook password
})

client.topgg.postWebhook(client);
client.on("newVote", (user, bot, isWeekend, query) => {
    if (query == "bot") {
        let embed = new Discord.MessageEmbed()
            .setColor('#ff0000')
            .setTitle(`New Spidey vote!!`)
            .addField("User", `<@!${user}>`, true)
            .addField("Bot", `<@!${bot}>`, true)
            .addField("Weekend", isWeekend, true)
            .setDescription("❤️Thank you for your precious Vote ❤️")
            .setThumbnail('https://i.gifer.com/7MGV.gif')
            .setTimestamp()
            .setFooter('Vote after 12 hour','https://top.gg/bot/879064887538618399/vote');
        client.channels.cache.get(885100240460472320).send(embed);
        // Enter the ID of the logs channel at ID
    }
    else if (query == "server") {
        let embed = new Discord.MessageEmbed()
            .setColor('#ff0000')
            .setTitle(`New server vote!!`)
            .addField("User", `<@!${user}>`, true)
            .addField("Server", `${bot}`, true)
            .setDescription("❤️Thank you for your precious Vote ❤️")
            .setThumbnail('https://i.gifer.com/7MGV.gif')
            .setTimestamp()
            .setFooter('Vote after 12 hour','https://top.gg/servers/875047284423917669/vote');
        client.channels.cache.get(885100240460472320).send(embed);
        // Enter the ID of the logs channel at ID
    }

client.login('TOKEN')```
shell gazelle
#

what to put in here

#

i mean in token

fathom hearth
shell gazelle
shell gazelle
#

@fathom hearth

fathom hearth
#

oh

#

dm

drowsy flame
#
webhookPort: , 
webhookAuth: '',
headers: {
 Authorization: ''
}
``` Is this how the webhook auth works?
candid shuttle
shell gazelle
#

See replied message

tepid osprey
candid shuttle
shell gazelle
#

Later

#

I am fixing it

#

If i dail then i will tell you

candid shuttle
#

K

willow valve
#

ops forget to disable mention
sorry for the ping

fierce dove
#

is there any way to find a bot via api ?

tepid osprey
tepid osprey
smoky marten
restive otter
#

How do I set up the vote webhook

#

I’ve entered the webhook url to the correct spot but test no workin

#

Ah do you add it to le the bot code I’m guessing? And you can do embed etc there

dense sparrow
copper elk
#

can we get an api key if our bot isn't approved

blazing rivet
#

No

#

You can but

#

It will be useless

restive otter
#

3

storm stag
shell gazelle
#

XD

storm stag
shell gazelle
#

Yes

#

Html,python and JavaScript

#

Bye

storm stag
#

well your pretty bad at javascript, you never define client how are you running a function on it

shell gazelle
#

I was kidding bro

#

I already fixed that error

#

Yesterday

storm stag
#

so why did you post it

shell gazelle
#

😂

shell gazelle
storm stag
#

k well ima take your word

shell gazelle
#

I posted that

real sonnet
#

where does the topgg auto poster send to?

plucky lance
#

To the topgg endpoint

#

The API endpoint

safe oak
#

Good evening,

Is there a page that explains how the vent works to detect votes? Or webhooks please ?

plucky lance
safe oak
#

Mmh ok thx x)

restive otter
#

How do i do voting webhook just with discord and not using a site?

jaunty plank
restive otter
#

Kk

brave pumice
#

api ded?

narrow zenith
#

server error

warped pebble
#

can someone help me get the bot to deliver a reward when a user votes? I'm having difficulties even with the documentation

#

this is referring

#

To this?

jaunty plank
#

top.gg webhooks are not discord webhooks

#

if you want to do rewards youll need to make your own webhook receiver

warped pebble
#

I can't understand it yet ;-;

tidal idol
warped pebble
#

ok

warped pebble
inner arch
#

Why can't I click continue?

restive otter
restive otter
inner arch
fair marlin
#

hey umm i made a webhook server for my bot for post requests
when i manually post to it, it successfully gets the data, but when i press test webhook, I don't even get the data on my webserver somehow

#

why does this happen?

fair marlin
#

nvm

midnight moss
#

e

restive otter
#

How do I see who voted for my bot on Top.GG with d.py?

warped pebble
restive otter
warped pebble
restive otter
#

you can use @top-gg/sdk to make a webhook server

warped pebble
#

ok!

warped pebble
jaunty plank
#

index, or any module

warped pebble
jaunty plank
#

inside the callback/function

warped pebble
#

ok

fair marlin
#

uhhh i just pressed test webhook once and now topgg is sending multiple requests to my webserver

#

i even reloaded, even restarted bot

#

and network tab in console shows nothing

jaunty plank
#

you need to send a valid status code response

weary flicker
#

My webhook url is constantly getting deleted

#

even after I saved it

#

:(

#

what should i do?

jaunty plank
weary flicker
bold fulcrum
#

how do i get my dbl token

#

i dont remember where to find it

weary flicker
jaunty plank
bold fulcrum
#

oop nvm

#

yea

weary flicker
#

doesn't even show creator controls

#

or am i blind

weary flicker
#

ig it's a bug

#

cuz it shows in my edge

weary flicker
#

like i search for my bot in the search options

#

it doesn't show

jaunty plank
weary flicker
sour sequoia
#

my top.gg's bot servers count isnt changing

jaunty plank
sour sequoia
#

yes

sour sequoia
jaunty plank
#

hmm, how long since you last posted?

sour sequoia
#

it refreshes it every 30 Minutes

#

@jaunty plank

jaunty plank
#

bot id?

sour sequoia
#

828349677950074881

jaunty plank
#

seems to be accurate to me

sour sequoia
#

how much does it says?

jaunty plank
#

off by a few, which is normal

sour sequoia
#

o okay

jaunty plank
#

478 vs 485

sour sequoia
#

okay, ty

fringe sphinx
#

has anyone else ever had problems with the top.gg sdk on nodejs when hosting with digital ocean?

jaunty plank
#

what kind of issues?

fringe sphinx
#

when i test it on my local pc, it works fine but on digital ocean, i get this error

narrow zenith
#

express isn't found

fringe sphinx
#

ive tried installing express but it then gives me a different error

narrow zenith
#

what's the other error?

fringe sphinx
#

should you usually have to install express to use the sdk anyway?

jaunty plank
#

yes

fringe sphinx
#

do you know what the problem might be?

jaunty plank
#

using ts?

fringe sphinx
#

yep

#

wait do you mean that might be the problem or are you asking?

jovial kiln
#

might be

fringe sphinx
#

but it works fine on my pc when run locally

jovial kiln
#

Then install express on wherever your running it?

fringe sphinx
#

and i get that error when i do that

#

it works fine without me installing express on my pc then when i push it to digital ocean, it stops working

near shore
#

The webhook page for my bot returns a 403 forbidden error

fringe sphinx
#

you need to login then refresh

near shore
#

Im already logged in

fringe sphinx
#

try loging out then back in then

near shore
#

logging in and out has been so scuffed lately, thats prob the issue. I'll find out in a sec

fringe sphinx
#

yeah ive found that aswell

near shore
#

nah still 403 for me

#

o well

jaunty plank
fringe sphinx
#

yep that was it thanks so much @jaunty plank

near shore
#

Where am I supposed to go to find the API key for posting the stats for my bot?

restive otter
#

Check out pins

near shore
#

That page 403s so I cant get to it, which is why I asked hoping it was moved lol

restive otter
#

You're logged in, weren't you? It works for me. Not sure if it's on topgg or you

restive otter
#

Hey for server counting, should I do something like this? 😅

#

@rain heart...

rain heart
#

Wait for someone who can help

restive otter
#

Ok

#

:)

fluid raptor
restive otter
#

I am a beginner

#

😅

fluid raptor
restive otter
#

Ohk

#

@fluid raptor done
Other things are correct?

fluid raptor
#

ig ye

restive otter
#

Ok

#

@fluid raptor so from now on it will show server counter too??

restive otter
#

topgg.api is not a constructor

#

How to fix it

rocky cave
#

Is the API required?

fluid raptor
restive otter
#

Java script

fluid raptor
restive otter
#

in console shows error voted is not defined


if(!voted){
  messgae.reply(`please vote me to unlock this command`)
} else {......}```
#

how to fix it

rain heart
#

you defined it vote

#

Then used voted on your if condition

hazy adder
#

yea

restive otter
rain heart
#

Rename the condition variable

restive otter
#

@rain heart now another error comes 401 unauthorised

rain heart
#

Did you provide your top.gg token on the constructor

restive otter
#

Ya i putted

rain heart
#

Post your code, but censor the token

analog bay
#

@golden adder

tidal idol
#

@restive otter

#

its still here

analog bay
#

¯_(ツ)_/¯

#

i didnt know that

pliant raptor
narrow zenith
#

Huh?

frosty flume
#

How do I make the vote detection system on top.gg?

jaunty plank
real dune
jaunty plank
#

if you are at risk of getting ratelimited you are probably misusing the api anyway

real dune
#

Alright, im barely hitting limits rn, just asked for future proofing

golden adder
real dune
#

Ah I see

restive otter
#

llllllllllllllll

jaunty plank
#

do you need help with the api? 👀

ripe haven
#

D

outer osprey
#

How does the webhook work? I want to send voting logs to a specific channel in my discord server, how do I go about doing that?

jaunty plank
sand sphinx
#

Could anyone provide information as to why my server still says not published, I couldn’t find any faqs so I thought I would try asking here. Thank you in advance for your time.

real sonnet
fair mica
#

when i add my server, it shows oauth error every time

rain heart
#

dblapi

celest pierBOT
#

This channel is ONLY for the Top.gg API!
This channel is only for: suggestions/help/bugs to do with official API libraries and API docs found at: https://docs.top.gg
Any Off-Topic conversation may get deleted and muted.

If you need help with development about your bot or development in general, feel free to use #development.

restive otter
#

hello I need help making it show how many servers my bot is in but in javascript

tepid osprey
restive otter
#

how please explain

#

the document is very confusing

#

plz someone help

civic slate
#

How to use top.gg api and what can it do

restive otter
#

what ?

dusk shale
#

Fake, Kaspersky blocked the link

#

Also you can't ping everyone

narrow zenith
#

sigh

#

@golden adder

restive otter
#

??? problem ?

restive otter
#

I want yo make website like top.gg

#

Not fully same

#

Some same

#

Pls tell me

jaunty plank
ancient grove
#

If a send server_count as a array of guilds per shard, it is the same as shards, right?

plucky lance
#

It is, yeah.

restive otter
#

i have a question

#

do u still need a webhook to send something like this even through an actual bot?

#

or can it be done just through the bot

plucky lance
#

You will receive a POST request from topgg and can do anything you want it.
For example receiving the request, using its user ID you got submitted, fetch a Discord user using your bot and send him a message

#

Or saving the received user ID in a database to get to know who has voted and how many times for example

restive otter
#

so if i use a db i dont need a webhhok at all?

#

that will be what i do if it possible

plucky lance
#

You’re receiving the request from topgg which means you need a webhook service (webserver) to receive it

restive otter
#

fuck

#

i hate webhooks

plucky lance
jaunty plank
#

If your only goal is to avoid webhooks yourself https://webhook-topgg.com/ can handle from top.gg to discord.

Then just using your message event in your bot to listen for the message would work.

But I wont be able to help you with it, if you are comfortable with writing bots it should be very simple.

#

I'm looking to make documentation/libs on how to do it on the popular bot languages/libs eventually, but haven't had time.

whole moss
#

help, im clicking the button but the token doesnt change; i already reloaded the page more than once

#

it seems that the token changed but it doesnt update on the right

restive otter
#

bruh

restive otter
#

hello how can i link api

sour sequoia
#
Error: 401 Unauthorized (You need a token for this endpoint)
    at Api._request (C:\Atest\node_modules\@top-gg\sdk\dist\structs\Api.js:76:19)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)
    at async Api.getStats (C:\Atest\node_modules\@top-gg\sdk\dist\structs\Api.js:125:24)
#

any idea?

narrow zenith
#

you need a token

sour sequoia
#

i have a token

narrow zenith
#

have you tried regenerating it?

sour sequoia
#

yes

sour sequoia
vague dune
narrow zenith
#

this is getting out of hand

sour sequoia
#

i have a token

#

tho

jaunty plank
sour sequoia
#

api.getStats('bots id')

#

brb

jaunty plank
#

are you posting/getting the stats for the same bot you are using the token for?

sour sequoia
#

yes

jaunty plank
sour sequoia
#

okay, i did

vital bolt
#

Hello what is the api for?

jaunty plank
vital bolt
#

Is there one that helps me set it up?

jaunty plank
#

the docs are for helping you set up/write code for the api.

#

so all three of those links do that

vital bolt
#

thlks

unique girder
#
const schhool = await fetch('https://top.gg/api/bots/828349677950074881/', {
        method: 'GET', headers: {
            "Authorization": "xxxxxxx"
        }
    });

I got an authorized error, is theres soemthing wrong with the code?

jaunty plank
#

A long time ago if you didnt include a content type header youd get auth issues.
not sure if that still applies, but make sure to include one.

#

'Content-Type: application/json'

unique girder
#

ok

#

gonna try that

jaunty plank
#

also, you need to have an approved bot to use the api

unique girder
#
const schhool = await fetch('https://top.gg/api/bots/828349677950074881/', {
        method: 'GET', headers: {
            "Authorization": "still didnt work",
        "Content-Type": "application/json"
        }
    });

still didnt work

jaunty plank
#

do you have an approved bot?

unique girder
#

@sour sequoia is your bot approved?

sour sequoia
#

yes

#

lad i tried already

#

i dont get what as well

#

i submitted an issue

jaunty plank
#

ah yeah, youll want to wait until your issue is handled

spice gulch
#

Oi

jaunty plank
#

hey, do you need support with the api/webhooks?

unique girder
#

does this mean that the bot isnt approved?

royal mirage
#

It's the certification by discord , not top gg

unique girder
#

and ok

jaunty plank
#

approved bots can be visited at their bot page to tell if they have been approved.

if you dont get an error its approved.

#

brokentooths bot is approved, but their issue seems to be something related to the api if everything we debugged is correct.

unique girder
#

ok

fluid mica
#

anyone know what the default post interval for the autoposter in JS is? I know the one in py is every 30 minutes, is there a way to change this interval as well?

jaunty plank
#

Should be 30 minutes aswell, you can check by looking in the github.
Changing the interval should be done with the options object

fluid mica
#

alright thanks, 30 minutes works fine, just wanted to make sure there was a default and i didnt have to set it myself

safe comet
#

what does the voted property means?

jovial kiln
#

probably 1 or 0

safe comet
#

1 is true and 0 is false?

restive otter
#

yes

fair marlin
#

umm im using topgg sdk and when i try to update info of my guildcount it says unauthorized

#

it is correct token but doesnt work in updating info

#
[09:54:32 | ERROR] Error: 401 Unauthorized (You need a token for this endpoint)
    at Api._request (/home/container/node_modules/@top-gg/sdk/dist/structs/Api.js:76:19)
    at processTicksAndRejections (node:internal/process/task_queues:96:5)
    at async Api.postStats (/home/container/node_modules/@top-gg/sdk/dist/structs/Api.js:99:9)
    at async Object.execute (/home/container/commands/owner.js:215:25)
    at async Object.execute (/home/container/events/interactionCreate.js:24:13)```
#

wth i found my token changed

#

even tho i never changed it myself

gusty bolt
fair marlin
#

it does the same thing tbh

#

i understood issue tho

gusty bolt
fierce quest
#

HELP : So i created a channel to post the votes, and stuff. I made a webhook
pasted the webhook url in the top.gg webhook section
but it is still not working(as in it is not posting anything in the channel)

#

votes for the server*

restive otter
storm solar
#

I want to get a reward when someone votes for my bot.
could you give me an example to do this? Because I can't figure out how webhooks work

fierce quest
storm solar
#

thanks

fierce quest
jaunty plank
#

yep

storm solar
jaunty plank
#

That code entirely depends on what your rewarding

#

And what your database is

#

There are hundreds of databases and languages, we cannot cover all of them.

latent narwhal
fierce quest
jaunty plank
#

on save? or on test.

fierce quest
jaunty plank
#

did you save first?

fierce quest
#

no

jaunty plank
#

you need to save first iirc

fierce quest
#

okay wait a sec

fierce quest
#

this pops up

#

when i save

jaunty plank
#

refresh the page/relogin to topgg

fierce quest
#

ok

jaunty plank
#

csrf issues has been happening to a lot of topgg pages recently 😔

fierce quest
jaunty plank
#

when testing on the website did it send?

fierce quest
jaunty plank
fierce quest
jaunty plank
#

topgg

fierce quest
#

ok

fierce quest
jaunty plank
#

can you send me the link you used?

fierce quest
jaunty plank
#

the one the copy link button gave you

fierce quest
#

ok

little plover
#

@restive otter

restive otter
restive otter
#

How do I check who just voted for my server through the API?

jaunty plank
restive otter
#

Oh, the webhook guide says bots? Does it also mean server ids work too?

jaunty plank
#

Webhooks support servers too yeah

restive otter
#

Oh awesome! I'm confused on how it works, is it just a Discord integration webhook URL? To send a message to a channel?

jaunty plank
#

Topgg webhooks are not directly compatible with discord webhooks, youll need to use an external tool such as https://webhook-topgg.com/ to make it work with discord webhooks

restive otter
#

Ohh - how could I use the normal webhook to interact with my bot?

jaunty plank
#

Or write a listener yourself

restive otter
#

It seems pretty cool

jaunty plank
restive otter
#

Thank you so much for the help, I'm now split between using the simplifier or creating my own website to handle posts lol. Is the simplifier stable, and fast?

jaunty plank
#

Writing your own as long as you have ssl should always be the most reliable and safe.

If you dont use ssl(encryption) the webhook listener above should be "safer"

restive otter
#

I got my own website going with nginx and uWSGI - used Flask as the framework but I haven't gotten around to the HTML/CSS/JS lol

jaunty plank
#

Webhooks thankfully won't need any html css or js

restive otter
#

Ahh that's awesome. I've got to figure out how to create the webhook on the website lol

jaunty plank
sweet sandal
#

am i able to use the webhook auth from https://webhook-topgg.com/ to use in the event when someone upvotes the bot to get there bot id?

jaunty plank
#

can you rephrase that? it looks like your saying get the id of someone elses bot, not yours.

sweet sandal
#

i meant user id oops my b

#

under webhooks, for the example and it asks for the webhook auth

jaunty plank
#

https://webhook-topgg.com/ doesnt give those to you, only if you make a webhook listener yourself can you get that information.

unless you listen for the webhook message in your bots code, then you could theoretically.

sweet sandal
#

is there a tutorial anywhere you know of, or is it just figure it out urself

jaunty plank
#

neither methods have a tutorial really, just the docs. https://docs.top.gg/libraries/javascript/#webhooks
you can learn more about how webhooks work on google for ^ this one.
I can also help some tonight.

if you want to listen for the webhook message from https://webhook-topgg.com/, youll mostly just have to do it from scratch, but I can help a bit there too.
If your comfortable with your bots lib it should be pretty straight forward

sweet sandal
#

Ok thanks

fervent thistle
#

What does unsupported client mean?

#

I'm trying to make it so it shows the amount of guilds on my bot page

#

please ping

jaunty plank
#

some of our libraries dont support other bot libraries

whole moss
#

a few days passed and i still cant regenerate it

restive otter
#

What type of data type does top.gg's POST request give? Is it JSON?

#

Yes

restive otter
#

hello my bot is 212 server but it shows as 116 on top.gg page

#

For anyone good with Python, would you mind helping?py @app.route("/lfg-endpoint", methods = ["POST"]) def receive(): if request.method == "POST": webhook = Webhook.partial(123, "url", adapter = RequestsWebhookAdapter()) webhook.send(request.data, username = "LFG") return 'success', 200 else: abort(400)Tried this (with the correct id/url in their places) and it did nothing. This is what I got in my journalctl log:Sep 19 07:08:54 DiscordBots uwsgi[247248]: [pid: 247248|app: -1|req: -1/9] ipadresshere () {38 vars in 522 bytes} [Sun Sep 19 07:08:54 2021] POST /lfg-endpoint => generated 21 bytes in 0 msecs (HTTP/1.1 500)>

#

I want to get started in python where I can find the official docs and getting started guide

restive otter
#

FWIW, the if statement might be redundant as you've specified the methods in the decorator. Or actually no since OPTIONS is implemented by default

#

Above that line in the journalctl I get this:--- no python application found, check your startup logs for errors ---The access log acknowledges the POSTs [19/Sep/2021:07:51:12 +0000] "POST /lfg-endpoint HTTP/1.1" 500 32 "-" "Top.gg Webhook/1.0.0"

#

Probably you didn't setup uwsgi properly

#

Arghh, that's annoying.

restive otter
#

Perhaps you'd know of a way to troubleshoot my issue with uWSGI? I'm pretty new to setting up web frameworks lol

#

I've only tried gunicorn

#

Can you send how you run uwsgi?

opaque bison
restive otter
#

From what I've seen on SO, you might have put the wrong path for the module

solid finch
#

I want to help

#

@sacred shell

restive otter
# restive otter I've only tried gunicorn

Honestly, I don't even know how I have everything setup - as I followed tutorials. But I'm thinking I should switch to gunicorn as it's more popular and slightly more efficient.

solid finch
#

How can i get users when they vote my bot

opaque bison
rain heart
silk reef
#

I have installed dblpy, yet when I try to import dbl it throws "No module named 'dbl'"?

restive otter
restive otter
#

Dblpy is deprecated in favor of topggpy

#

Have a look at the docs to see the breaking changes

silk reef
#

Eh, just want to post stats, anyway will manually post instead of using wrappers now

silk reef
#

Why does topgg return 400 http error? the params are correct?

tidal idol
#

maybe it needs to be a string?

#

oh shit

#

400 means that its a bad request

silk reef
silk reef
rain dock
#

Can I create a token separately for GET and POST?

jaunty plank
#

nope

tidal idol
#

im using quart, and to see the request data i'm doing print(request.json) but nothing prints lmao

restive otter
#

Doesn't it return awaitable doe

tidal idol
#
@client.event
async def on_dbl_vote(data):
        """An event that is called whenever someone votes     for the bot on Top.gg."""
        if data["type"] == "test":
            print(int(data["user"]))
            user = client.get_user(int(data["user"]))
            await user.send("Thank you for upvoting :)")
            # this is roughly equivalent to
            # `return await on_dbl_test(data)` in this case
            return client.dispatch("dbl_test", data)

        user = client.get_user(str(data["user"]))
        await user.send("Thank you for upvoting :)")```
#

returns ```py

471409054594498561
Ignoring exception in on_dbl_vote
Traceback (most recent call last):
File "/opt/virtualenvs/python3/lib/python3.8/site-packages/discord/client.py", line 343, in _run_event
await coro(*args, **kwargs)
File "main.py", line 21, in on_dbl_vote
await user.send("Thank you for upvoting :)")
AttributeError: 'NoneType' object has no attribute 'send'```

restive otter
#

Ugh, why is it str?

#

Anyway, are you caching members?

#

If not, you can fetch it instead. Note that it's an API call so you might get rate limited at some point. But it should be handled by d.py I guess

#

Side note: don't dispatch dbl_test if you're handling the test payload inside the same event

tidal idol
restive otter
#

Unless you're in async branch (which I doubt it still works), snowflakes are of type int

tidal idol
#

i did type(userid)

#

and it outputted <class 'int'>

restive otter
tidal idol
restive otter
#

Ah, you're not using the latest version, are you?

#

Then do data["user"] instead

tidal idol
#

i got it working

#
@client.event
async def on_dbl_vote(data):
        """An event that is called whenever someone votes     for the bot on Top.gg."""
        if data["type"] == "test":
            userid = data["user"]
            user = client.get_user(data["user"]) or await client.fetch_user(data["user"])
            await user.send("Thank you for upvoting :)")
            # this is roughly equivalent to
            # `return await on_dbl_test(data)` in this case
            return client.dispatch("dbl_test", data)

        user = client.get_user(data.user) or await client.fetch_user(data.user)
        await user.send("Thank you for upvoting :)")```
restive otter
#

You can remove this and it still works kekw

#

It's just redundant

tidal idol
#

yup

restive otter
#

Well, glad you got it working

little plover
#

@dense grail

viscid cloud
#

Where can I get token?

celest pierBOT
#

@viscid cloud

Your question is likely answered by one of pinned messages.
Please take time to read the pinned messages by clicking on this icon.

viscid cloud
rigid hamlet
#

Was the API endpoint changed or what

#

My bot keeps on giving error

#

And not getting response from the API

#

For Voter only commands

#

I have authorization header with correct token

restive otter
#

I switched to Nextcord

rigid hamlet
jaunty plank
rigid hamlet
#

It worked correctly before and it's giving error since a week

jaunty plank
#

whats your code look like? and whats the exact error?
theres a few different types of response errors and the exact one could be important.

restive otter
#

Do both Automatically and Manually post server count every 30 minutes uses discord.ext tasks? Or they have separate concept?

jaunty plank
#

for py?

restive otter
#

Yes

jaunty plank
rigid hamlet
#

And requested voted

#

If the API is changed please tell me if not then tell me what can be the reason that the bot isn't able to request stuff from API

jaunty plank
#

whats your code?

rigid hamlet
#

It was working before

jaunty plank
#

im not asking for the error, Im asking for the code you wrote to access the api

rigid hamlet
#

@jaunty plank I'm using AOI.js btw 😅

#

Do you know how to use that?

jaunty plank
#

no, but your question seems to be unrelated to it.

rigid hamlet
#

The code is in aoijs

jaunty plank
#

aoi.js has no methods for fetching from the topgg api from what I can see, so you cant be using it to fetch

rigid hamlet
#

To fetch

jaunty plank
#

can you please just send the code, otherwise theres nothing I can do for you

rigid hamlet
#

JSON website

#

@jaunty plank

$jsonRequest[https://top.gg/api/bots/$clientID/check?userId=$authorID;voted;{description:An Unexpected Error Occurred.
I was Unable to Make Connection with Top.gg
Please Try Again.
If This Problem persists, Contact [Support]()}{color:RED};Authorization:] 
#

U won't understand that ig

jaunty plank
#

I need the programming code, not the error

#

like .fetch(https://top.gg/api/bots/$clientID/check?userId=$authorID)
or whateer

rigid hamlet
rigid hamlet
jaunty plank
#

can you link me to aiojs, i must be getting something completely different from you

rigid hamlet
#

How can I link btw?

#

Support server?

#

Or documentation?

jaunty plank
#

documentations fine

#

👀 why is this lib so bad

#

where are you hosting this code?

#

like, a vps/home/server/replit

rigid hamlet
rigid hamlet
#

On DBH cuz I am poor

rigid hamlet
jaunty plank
#

maybe dbh is being blocked by cloudflare?
its really hard to tell with this library whats going on tbh.

rigid hamlet
jaunty plank
#

its impossible to debug

rigid hamlet
jaunty plank
#

also, seems harder than just js tbh

rigid hamlet
jaunty plank
#

no, its like actually harder 😔

#

writing the original code is easier, properly doing stuff seems harder

rigid hamlet
#

Combining different functions is hard

jaunty plank
#

your best bet, contact aoi support to see if they have any proper error logging for their lib(doesn't seem like it)

#

if they dont, I dont think theres much I can do to debug this

rigid hamlet
#

@jaunty plank I have asked both the library support and the host support

#

Thanks for your help btw

rigid hamlet
#

Nononono wait

#

Not a host issue

#

Stats Posting is working

jaunty plank
#

hmm, weird!

rigid hamlet
#

It automatically stopped working

river tide
#

+play

twin reef
#

ping on reply pls

sterile echo
#

22ms

twin reef
#

ping

sterile echo
#

39ms

twin reef
#

ping

sterile echo
#

39ms

restive otter
#

ping iara_think_thonk (woops didnt saw the case)

restive otter
tidal idol
#

ping

#

pong

#

pang

jaunty plank
#

hi

#

op

twin reef
#

i reported that lol

restive otter
#

I think those who are coding in python are using a flask web-server to listen incoming webhook requests

restive otter
#

Eh, not necessarily

restive otter
#

I think topgg.py has an inbuilt webhook listener? No need for us to create a extra webhook listener?

restive otter
#

Making use of aiohttp internally, yes

weak matrix
#

how do you use the api to check if someone has the voter role

wraith trench
#

Is the topgg-autoposter even working?

#

It doesn't seem to fire the posted event for some reason Nor log anything in, I don't know if it's my code hmm

restive otter
#

does top.gg webhook for vote post the query value too

#

like if i provide /vote?guildid=235765655

#

will the post request return it?

wraith pelican
#

when i am using the server post code then this error comes in my terimal
Oops! Error: 400 Bad Request

jaunty plank
jaunty plank
wraith pelican
jaunty plank
wraith trench
jaunty plank
#

Whats your code look like?

restive otter
restive otter
wraith trench
# jaunty plank Whats your code look like?
const Discord = require("discord.js")
const client = new Discord.Client() 
const { AutoPoster } = require('topgg-autoposter')

logger.success("test")
const ap = AutoPoster(config.DBL, client)

ap.on('posted', () => {
  logger.success('Posted stats to Top.gg!')
})```

It logs `test` But doesn't log the Posted part for some reason ![thonking](https://cdn.discordapp.com/emojis/795561196169723904.webp?size=128 "thonking")
#

the key is correct, I confirmed it again

jaunty plank
#

is that client logged in?

#

it needs to be a logged in discord.js client(or other supported lib), as thats where it gets your guild count from.

narrow zenith
#

what about app

#

oops

#

ap*

wraith trench
#

yeah it is logged in

#

that code is in a different file though

jaunty plank
#

try adding
console.log(client.user.id)
just to make sure

#

or client.on('ready', console.log("logged in here");

wraith trench
#

Alright

jaunty plank
wraith trench
#

ah oof isn't working, maybe that's the issue

#

lemme try doing something else I think it might work

#

Okay, it worked woo

#

Thanks for the help!

jaunty plank
#

no problem

upper vigil
#

Is there a way to set your bots server count to n/a again?

#

This may be a weird question but it has a reason:

I am currently thinking of removing the bot scope from the invite link so that only the slash commands scope is granted. After that there won't be anything like a server count, or better said, the server count the bots prints out is wrong (only displaying the servers with the bot user, not with the slash commands)

rain heart
#

not really, no. You could literally set it to 0

jaunty plank
#

I doubt it will, but -1 might set it to N/A?

Other than that, dont think you can do much about it.

upper vigil
#

Ok, thanks for your answerstopggThumbsUp

scarlet cobalt
#

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.

restive otter
#

why does vote.query return [Object Object]

jaunty plank
graceful merlin
#

I am receiving undefined with "vote.user" and an empty array with "vote", why?

honest nacelle
#

hi im not very pro at coding im on python how do i webhook api thing my bot 880242090389413938

#

@short pawn

wispy lava
#

imm acc so confused where do i acces the api ?

narrow zenith
jaunty plank
polar birch
#

how do i make an vote logger? like when someone votes it sends an embed in spesific channel?

jaunty plank
crystal parcel
#

pls rob @polar birch

crystal parcel
#

nice pfp

#

kitten

weak trellis
#

what is
"Required parameter shard_count missing or invalid value"

graceful merlin
#

I'm using the top.gg webhook test and I still got undefined, I voted for the conventional methods and I still got undefined. how can i solve this problem?

graceful merlin
# jaunty plank What's your code look like?

my code is in an anonymous function to start the bot and server client mutually in a try catch block with a verification middleware, i put the webhook url in top.gg with my password and other info, but it still didn't work

graceful merlin
jaunty plank
#

Try logging the whole response and seeing what it gives

#

Sorry stepped outside

graceful merlin
#

return undefined

jaunty plank
#

the whole response did?

#

then somethings wrong with your code.

graceful merlin
#

yes

#

hm...

#

I will send you my code

jaunty plank
#

responses never can be completely undefined.

graceful merlin
#
try {
    const router = require('express').Router()
        const Topgg = require("@top-gg/sdk")

        const webhook = new Topgg.Webhook("mypass")
    router.post('/the_brozy/dbl_webhook', webhook.listener(vote => {
          console.log(vote)
    }))

    module.exports = router
} catch(err) {
    console.log(`TBZ API ROUTER DBL WEBHOOK: ${err}`)
}
graceful merlin
jaunty plank
#

for now try

app.get('/the_brozy/dbl_webhook', function (req, res) {
  res.send('Hello World!')
  console.log(req)
})
graceful merlin
#

ok

jaunty plank
#

sorry, router.post (i feel you probably know that)

graceful merlin
#

yes

graceful merlin
#
try {
  const express = require('express')
    const router = express.Router()

  //const Topgg = require("@top-gg/sdk")

  //const webhook = new Topgg.Webhook("mypass")

  router.post('/the_brozy/dbl_webhook', (req, res) => {
    res.send(`test`)
  })

  module.exports = router
} catch(err) {
   console.log(`TBZ API ROUTER DBL WEBHOOK: ${err}`)
}
graceful merlin
jaunty plank
#

and you are requiring and app.use()ing in another file somewhere right?

graceful merlin
#

yes

jaunty plank
#

add a get, and try getting it in a browser maybe? 🤔

graceful merlin
#
const config = require('../../src/global/config/tbz-config')

module.exports = async () => {
    try {
        const express = require('express')
        const cors = require('cors')
        const bodyParser = require('body-parser')

        const app = express()
        app.use(cors())
        app.use(bodyParser.urlencoded({ extended: false }))
        
        const router_center = require('../../src/tbz-api/routers/index')
        app.use('/', router_center)

        app.listen(config.theBrozyApi.port)
    } catch(err) {
        console.log(`TBZ API: ${err}`)
    }
}
#
try {
    const express = require('express')
    const router = express.Router()

    const verific_middleware = require('../../../src/tbz-api/middleware/verifics-middleware')

    const theBrozyRouter = require('../../../src/tbz-api/routers/routers/the-brozy')
    const tbzCommandsRouter = require('../../../src/tbz-api/routers/routers/tbz-commands')
    const getUsersRouter = require('../../../src/tbz-api/routers/routers/getUsers')
    const getGuildsRouter = require('../../../src/tbz-api/routers/routers/getGuilds')
    const dblWebhookRouter = require('../../../src/tbz-api/routers/routers/dbl-webhook')
    
    router.use('/access_verific/verific/:user/:password/:role', verific_middleware, theBrozyRouter, tbzCommandsRouter, getUsersRouter, getGuildsRouter, dblWebhookRouter)
    
    module.exports = router
} catch(err) {
    console.log(`TBZ API ROUTER CENTER: ${err}`)
}
graceful merlin
# jaunty plank add a get, and try getting it in a browser maybe? 🤔

already did that:

try {
  const express = require('express')
    const router = express.Router()

  //const Topgg = require("@top-gg/sdk")

  //const webhook = new Topgg.Webhook("mypass")

  router.get('/the_brozy/dbl_webhook', (req, res) => {
    res.send(`test`)
  })

  module.exports = router
} catch(err) {
    console.log(`TBZ API ROUTER DBL WEBHOOK: ${err}`)
}
#

recived test

jaunty plank
#

res sent properly?

#

hmm

graceful merlin
#

yes

jaunty plank
#

is it maybe accidentally being caught by one of these?
verific_middleware, theBrozyRouter, tbzCommandsRouter, getUsersRouter, getGuildsRouter
?

graceful merlin
#

There's one thing, the top.gg site isn't recognizing me as the bot owner

jaunty plank
#

it shouldnt matter, as long as you filled in the url and auth on the site

graceful merlin
#

each of them is separated individually

jaunty plank
#

sure, but it does them in order still

jaunty plank
graceful merlin
#

other request generator?

#

what? lol

#

oh

#

okay

#

lol

jaunty plank
graceful merlin
# jaunty plank try using postman, or another request generator. then changing this code to post...

I made a simple route and got this error
router:

const router = require('express').Router()

router.get('/test', (res, req) => {
    res.send('test')
})

module.exports = router

err:

TypeError: res.send is not a function
    at /home/runner/tbz/src/tbz-api/routers/routers/test.js:4:6
    at Layer.handle [as handle_request] (/home/runner/tbz/node_modules/express/lib/router/layer.js:95:5)
    at next (/home/runner/tbz/node_modules/express/lib/router/route.js:137:13)
    at Route.dispatch (/home/runner/tbz/node_modules/express/lib/router/route.js:112:3)
    at Layer.handle [as handle_request] (/home/runner/tbz/node_modules/express/lib/router/layer.js:95:5)
    at /home/runner/tbz/node_modules/express/lib/router/index.js:281:22
    at Function.process_params (/home/runner/tbz/node_modules/express/lib/router/index.js:335:12)
    at next (/home/runner/tbz/node_modules/express/lib/router/index.js:275:10)
    at Function.handle (/home/runner/tbz/node_modules/express/lib/router/index.js:174:3)
    at router (/home/runner/tbz/node_modules/express/lib/router/index.js:47:12)
jaunty plank
#
router.get('/test', (req, res) => {
    res.send('test')
})
#

req, res

graceful merlin
#

ok

#

It worked

jaunty plank
#

I think the next step is to simulate the request on the proper route and method.

graceful merlin
#

I just did this and I have an empty array

jaunty plank
#
  router.post('/the_brozy/dbl_webhook', (req, res) => {
    res.send(`test`)
  })

with this?

graceful merlin
#

not

#
router.post('/test', webhook.listener(vote => {
  console.log(vote)
}))
#

every time I send the test, it returns an empty array

jaunty plank
#

for now, its probably best to not use the top.gg test button, as the response sent is important for debugging.

graceful merlin
#

okay

#

I have a question, I think top.gg is not recognizing me as a user, not logging in

jaunty plank
#

login, then refresh the page.

graceful merlin
#

I did it about three times

jaunty plank
#

try doing it on the home page.

#

or clearing your cache

celest pierBOT
graceful merlin
#

ok

#

clearing all

#

''

graceful merlin
graceful merlin
jaunty plank
#

did you do it on the original post? same url and everything?

graceful merlin
#

yes

jaunty plank
#

alright, now make it the original request too.
body as the json object topgg sends, content type and authentication set, and make the code the original code

graceful merlin
jaunty plank
#

postman

graceful merlin
#

ok

graceful merlin
oblique lance
#

hello how do i do it so if someone votes for my bot the bot ll send the user message

jaunty plank
oblique lance
#

can we do from api

jaunty plank
#

not really, your best bet is webhooks

restive otter
#

Big body’s ban

untold cliff
#

I am getting error with top.gg api for post stuts

tidal idol
#

oh i see

#

read the error

#

TopGGAPIError: 401 Unauthorized (You need a token for this endpoint)

untold cliff
#

When restart it stop then 15 min to 1 hours the bot go down and error come back

plucky lance
#

The application will crash if you don’t mind to handle the process errors.

untold cliff
#

The token is same

plucky lance
#

And make sure to provide the right topgg token in the header when sending API requests

untold cliff
#

I did

#

Error is gone but sometimes it come back

plucky lance
#

Do you use the auto poster or send the requests yourself?

untold cliff
#

Auto poster

plucky lance
#

Ah I see the sdk

#

Yeah the error will be back if the auto poster sends the request again

#

It doesn’t send the request immediately after you start the app I think

#

There’s a delay

#

That’s the reason no error occurs if you start the bot

#

Anyways the error message means you didn’t provide your correct token

#

Check it again

untold cliff
#

What better thing to do

#

It still same token that I add

final plover
#

Are there any webhooks for the bot to see if someone voted etc. and also reminder like msgs that go to a channel without a bot and show who voted

jaunty plank
#

For reminders they can sign up for reminders when they vote or you'll need to program the reminders in bot yourself.

untold cliff
narrow zenith
#

you need a token, presumably a top.gg auth token

untold cliff
#

I have

#

Same token

narrow zenith
#

try regenerating it

untold cliff
#

Try that now

untold cliff
narrow zenith
#

are you requiring it from a config?

untold cliff
#

Nope. Index.js

untold cliff
jaunty plank
#

Can you show the part of the code which you use the authorization header?
Without the auth being showed(or regen it)

untold cliff
#

poster.on('posted', stats => {
// ran when succesfully posted
console.log(Posted stats to Top.gg | ${stats.serverCount} servers);
});

jaunty plank
#

So you're using this?

const poster = AutoPoster('Your Top.gg Token', client)

untold cliff
#

Yes

jaunty plank
#

And your Token should look like.
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6Ijg1OTE1MDM5MDEzNDMwODg5NCIsImJvdCI6dHJ1ZSwiaWF0IjoxNjMyNDMxMTEzfQ.bsAuhU6ckaPvyOBg1AfHA4MQUIvoyw2YTEPMVNU3Ebk

#

Should start with ey

untold cliff
#

Yes it is

jaunty plank
#

Hmm, if you provide something else(not your token) what does it respond?

Just want to check the error response

#

It's strange to get a 401 with any auth provided

untold cliff
#

Yes

#

I was try sleeping but I ping bot down

jaunty plank
#

Double check you didn't accidentally add a letter to your token

#

Or miss letters

tidal idol
#

what does the token give someone access to do

#

i wanted to ask here instead of cluttering up general with me asking questions about it

jaunty plank
tidal idol
#

alr

#

I just wanted to check before something bad could happen to Dayin’s token

plucky lance
#

You can access a few resources without API token

jaunty plank
#

If their token is leaked they really should be reseting it.

#

Could result in the token being ratelimited and not being usable if they want to use it.
I dont think we would do much if it is if that's the concern. Would be something to ask dev team.

fringe edge
#
const express = require('express');
        const { Webhook } = require('@top-gg/sdk')

        const wh = new Webhook('auth')
        const app = express()

        app.get('/', (_req: any, res: any) => {
            res.send('hi');
        })

        app.post('/webhook', wh.listener((vote: any) => {
        console.log(vote.user) // 172075838806818817
        }))

        app.listen(432);

this is my current code for my express app and my webhook url on the dash is http://localhost:432 but nothing is being logged, any ideas?

jaunty plank
#

You're also missing the path /webhook

fringe edge
jaunty plank
#

Like at home?

#

Note for home networks you'll also need to portforward

#

http://portforward.com/
Covers how to port forward

Port Forward

A port forward is a way of making a computer on your home or business network accessible to computers on the internet even though they are behind a router. It is commonly used in gaming security camera setup voice over ip and downloading files.

fringe edge
untold cliff
#

I remove the top.gg because it keep breaking my bot

untold cliff
wide herald
#

You also need a static ip for home networks

plucky lance
#

Aka. dynamic DNS

wide herald
#

Most cgnats have ports blocked....

#

So dynamic dns doesn't work in that case

balmy wharf
#

I paste the client id but still can’t

jaunty plank
#

@charred abyss hey, are you posting your bot stats via the api?

charred abyss
#

i mean in the bot page

#

isnt that automatic?

jaunty plank
#

nope, you need to post it with code

charred abyss
#

ah

#

okay

#

but like

#

i dont get it, how can i post a request in my top.gg page yert

jaunty plank
#

you post it to the api.

#

if your unsure how to use an api, look at the libraries listed on the left side.

charred abyss
jaunty plank
#

you cannot

charred abyss
#

exactly

barren mist
#

hi

jaunty plank
charred abyss
#

just to be sure, using this changes this?

jaunty plank
charred abyss
#

yes

#

hm

#

ah

#

makes sense ye

#

ok

upper vigil
vestal frost
#

@empty gazelle

#

Delet this

empty gazelle
#

got it

craggy sentinel
#

starry Server Lockdown

Hey guys, we've gone ahead and locked down this server due to a recent surge in bot accounts joining and spamming. If you get any scam ads in your DMs please DM a mod to report it. Once the raid has been mitigated we'll reopen the server.

vivid schooner
#

👍

split plank
#

I can't see any token after click on reavel

restive otter
#

hello

#

i am try to add server count overview

#

but it cat working

jovial kiln
#

What language are you using

restive otter
jovial kiln
#

djs isn't a lang javascript is doe

restive otter
#

hmm

#

thx @jovial kiln done

jovial kiln
#

Np

wide herald
#

he wrote Javascript as java script...

restive otter
#

it cant work fine

jovial kiln
#

What?

jovial kiln
#

Look into the API

#

@pastel raptor

#

Try again

#

Working perfectly fine for me

#

try the root site

#

You have to change the your-bot-id to your bots id

#

If you are doing servers then /server/serverID/webhooks

#

Then you didn't setup correctly

#

You need to setup a webhook server

#

It's all in the docs

#

Are you doing it for a bot or a server

#

You have to define Discord

#

You didn't install the packages

#

Show code

#

Discord is not defined

#

const Discord = require("discord.js"); at the top

#

Basic js

#

You do not have the correct version of node

#

v16.6 or higher

#

You clearly don't

#

Not how it works

#

node isn't a module

#

I suggest you learn javascript and nodejs before trying to create any of this

#

Or just be patient on the bot you are trying to use for now

wanton bolt
#

JDT — Today at 11:53 AM
How to check in how many servers my bot is?
[11:53 AM]
bcus on top.gg site it is not showing in details
[11:53 AM]
or can u give me the code for the set.activity( )
[11:54 AM]
for bash
[11:54 AM]
;-;

extreme™ — Today at 11:54 AM
topgg-api

#

need help

jovial kiln
wanton bolt
#

@jovial kiln bash is not there in libraries

jovial kiln
#

bash?

#

If your trying to get your bots servers for you to see only just code it into your bot to log it

wanton bolt
#

and for that i have to code it

jovial kiln
#

What language is your bot coded in

wanton bolt
#

bash

#

-_-

jovial kiln
#

bash?

wanton bolt
#

yes

jovial kiln
#

Don't think you can make a discord bot in bash...

#

What is the file extension

wanton bolt
#

i made it tho

wanton bolt
#

the commands stuff is in bash

jovial kiln
#

What is the file extension

wanton bolt
#

but the bot ralted stuff is .json/js

#

related

#

packager files are in .json

jovial kiln
#

So its js

#

Not bash

wanton bolt
#

its bash -_-

jovial kiln
#

No

wanton bolt
#

80%

#

bash

jovial kiln
#

It isn't

wanton bolt
#

leave it

jovial kiln
#

Do you have any batch files in your code structure?

wanton bolt
jovial kiln
#

Batch files are bash files

#

Your looking for the javascript library

wanton bolt
#

call it bash ez

jovial kiln
#

And you cannot use the API until your bot is approved

#

Bash isnt a file type, batch is.

#

actually it may be

wanton bolt
#

ok so can u give solution to my query/

#

?*