-
Project built on
discord.jsv14. -
Minimum required Node.js version: v18
-
Example command setup can be found in
src/Commands/info/ping.js. For more details, visit the Discord.js Guide. -
Note: Remember to configure your settings in the
config.jsfile and Don't forget to prepare a .env file in the same way as in.env.example!
- If you find this project helpful, consider giving it a ⭐ on GitHub!
-
Įdiekite priklausomybes
npm install
-
Sukonfigūruokite
.envUžpildykite
.envfailą:BOT_TOKEN– jūsų Discord botos tokenasOWNER_IDS– jūsų Discord ID (gali būti keli, atskirti kableliu)SUPPORT_CHANNEL_ID,LOG_CHANNEL_ID,BUY_SELL_CHANNEL_ID– kanalų IDSUPPORT_ROLE_ID– support rolės IDPRICE_EUR_PER_MILLION– pradinė kaina EURBTC_EUR_RATE,LTC_EUR_RATE,ETH_EUR_RATE– rezervinės kainos (jei CoinGecko nepasiekiamas)BTC_ADDRESS,LTC_ADDRESS,ETH_ADDRESS– piniginės adresaiPAYMENT_CHECK_INTERVAL_MS– tikrinimo intervalas (ms)PAYMENT_OFFSET_CENTS– unikalus kainos offsetas centaisDELIVERY_URL– jūsų API endpoint (pvz.http://localhost:8080/withdraw)DELIVERY_API_KEY– API raktasVOUCHES_CHANNEL_ID– vouches kanalo IDMIDDLEMAN_CHANNEL_ID– middleman kanalo IDMIDDLEMAN_ACCOUNTS– 20 account nickų, atskirtų kableliaisBACKEND_BASE_URL– backend bazinis URL (pvz.http://localhost:8080)BACKEND_WS_URL– backend WebSocket URL (pvz.wss://localhost:8080)BACKEND_WS_ORIGIN– WS Origin antraštė (pvz.https://localhost:8080)BACKEND_WS_USER_AGENT– WS User-Agent antraštė (browser stiliaus)BACKEND_API_KEY– API raktas
-
Paleiskite botą
npm start
-
Komandų registracija
Slash komandos registruojamos paleidimo metu. Jei pirmą kartą paleidus neveikia, perkraukite botą po kelių sekundžių.
-
Naudojimas
/panel-support– sukuria support panelę/buy-panel– sukuria buy panelę/setprice– pakeičia EUR kainą ir atnaujina buy panelę/confirm-payment– rankinis patvirtinimas (jei reikia)/verify– priverstinis kripto mokėjimo patikrinimas (support/seller/owner)/setnick– sellerio payout nick nustatymas (middleman išmokėjimams)
-
Automatinis kripto mokėjimų tikrinimas
- Botas automatiškai tikrina BTC/LTC/ETH mokėjimus per BlockCypher balansų polling.
- Kai vartotojas pasirenka mokėjimo metodą, sistema užfiksuoja pradinį balansą ir kas
PAYMENT_CHECK_INTERVAL_MStikrina delta. - Jei reikia priverstinai patikrinti, naudokite
/verifybuy threade.
-
Middleman service
- Middleman kanale parašykite žinutę su 2 paminėjimais (buyer ir seller). Žinutė bus ištrinta, o botas sukurs threadą.
- Thread’e paspauskite Start Service, įveskite account nick ir amount.
- Botas parinks vieną iš
MIDDLEMAN_ACCOUNTSir pateiks instrukciją/pay <nick> <amount>. - Paspaudus I have added, botas išsiunčia deposit requestą į backendą ir laukia WS patvirtinimo.
- Kai backend patvirtina, buyer’ui atsiranda mygtukai I received items arba No, I haven't received anything.
- Pasirinkus I received items, botas siunčia išmokėjimą per backendą (su 5% fee).
-
Backend API (HTTP/WebSocket)
- HTTP:
POST http://localhost:8080/api/deposit{ "nick": "<player>", "amount": <number>, "source": "discord" }POST http://localhost:8080/api/withdraw{ "nick": "<player>", "amount": <number>, "source": "discord" }GET http://localhost:8080/health
- WebSocket:
ws://localhost:8080- Send JSON:
{ "type": "deposit", "nick": "<player>", "amount": <number>, "source": "discord" }{ "type": "withdraw", "nick": "<player>", "amount": <number>, "source": "discord" }{ "type": "status" }
- Listen for events:
deposit_waitdeposit_assigneddeposit_paiddeposit_confirmedwithdraw_assignedwithdraw_confirmedwithdraw_failed
- HTTP:
