Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Peterjoram authored Jul 11, 2024
0 parents commit 1611000
Show file tree
Hide file tree
Showing 81 changed files with 15,224 additions and 0 deletions.
33 changes: 33 additions & 0 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Node.js CI

on:
push:
branches:
- main
pull_request:
branches:
- main

jobs:
build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [20.x]

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install

- name: Start application
run: npm start
26 changes: 26 additions & 0 deletions .github/workflows/deployer.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Node.js CI

on: push: branches: - main pull_request: branches: - main

jobs: build:

runs-on: ubuntu-latest

strategy:
matrix:
node-version: [20.x]

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install

- name: Start application
run: npm start
1 change: 1 addition & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: npm start
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Steps on how to deploy on github

## 1 Star repo✨ Then fork⏳

## 2. copy the deploy.yml in the channel below

[Black github deployment channel](https://whatsapp.com/channel/0029VaePv7T72WTq4R6Pxr0t)


## 3. Tap on ACTIONS ABOVE THERE ON THE REPO then tap on (Set up a workflow yourself) and paste that file that you have copied in the channel.. Then rename (main.yml) to deploy.yml after that you commit changes.







## 4. Go back to (config.js) then copy you session there and your done.... Just waiting for sometime then your bot will start working..
129 changes: 129 additions & 0 deletions app.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
{
"name": "black-panther",
"description": "I am black-panther-Md Whatsapp MultiDevice Whatsapp Bot built in NodeJs to make experience better",
"website": "https://youtube.com/@ibrahimaitech",
"repository": "https://github.com/ibrahimaitech/BLACK-PANTHER-XMD",
"logo": "https://telegra.ph/file/9e038e5890def3cc7aca7.jpg",
"keywords": ["black-panther-md", "Ibrahim Adams", "Panther-Md"],
"success_url": "/",
"stack": "container",

"env": {
"OWNER_NAME": {
"description": "Name for Bot Owner",
"value": "𝑰𝒃𝒓𝒂𝒉𝒊𝒎 𝑨𝒅𝒂𝒎𝒔",
"required": false
},

"WELCOME": {
"description": "put 'false' or 'true' to enable & disable WELCOME message ",
"value": "false",
"required": false
},
"GOODBYE": {
"description": "put 'false' or 'true' to enable & disable GOODBYE message ",
"value": "false",
"required": false
},
"BOT_NAME": {
"description": "Your Bot Name",
"required": false,
"value": "𝘽𝙇𝘼𝘾𝙆-𝙋𝘼𝙉𝙏𝙃𝙀𝙍-𝙈𝘿"
},
"TIME_ZONE": {
"description": "Put TIME_ZONE according to your location",
"required": false,
"value": "Africa/Nairobi"
},
"SUDO_NUMBERS": {
"description": "Numbers you wish to be second bot owners",
"required": false,
"value": "254739937062,254710772666"
},
"READ_COMMAND": {
"description": " Read bot cmds",
"required": false,
"value": "true"
},
"WARN_COUNT": {
"description": " Warn count for users to kick/block when warn limit exceed!",
"required": false,
"value": "5"
},
"AUTO_SAVE_STATUS": {
"description": " Auto save whatsapp status",
"required": false,
"value": "false"
},
"HEROKU_API_KEY": {
"description": "Put Your Heroku Api Key Here",
"value": "",
"required": true
},
"HEROKU_APP_NAME": {
"description": "Put Your Heroku App Name Here",
"value": "",
"required": true
},
"WAPRESENCE": {
"description": "Fill the value: 'unavailable'(for nothing) | 'available'(for alwaysonline) | 'composing'(for typing) | 'recording' | 'paused' ",
"required": false,
"value": "available"
},
"AUTO_READ_STATUS": {
"description": "Fill the value true if you want bot view your Statuses.",
"required": false,
"value": "true"
},
"MSGS_IN_LOG": {
"description": "Fill the value -true- if you want to see Messages in logs.",
"required": false,
"value": "false"
},
"READ_MESSAGE": {
"description": "Fill the value true if you want bot to read all messages.",
"required": false,
"value": "false"
},
"DISABLE_PM": {
"description": "Make it 'false' if you wanna run bot in your pm (if MODE is Public)",
"value": "true",
"required": false
},
"PREFIX": {
"description": "Enter your desired prefix for bot. you can set `all | . | .!*`",
"value": "."
},
"THUMB_IMAGE": {
"description": "Menu Image",
"value": "https://telegra.ph/file/f45e20c99651b700e2604.jpg"
},
"OWNER_NUMBER": {
"description": "The phone numbers of the users who you want to be admin for the bot (should be in international format without + and multiple numbers must be separated by a comma \",\")",
"value": "254739937062,254710772666"
},
"SESSION_ID": {
"description": "put your SESSION_ID here.",
"value": ""
},
"MODE": {
"description": "Worktype of your bot. Use public or private, if it is private then only bot number can use it. If public then everyone can use it.",
"value": "private"
},
"STICKER_NAME": {
"description": "Put Sticker Pack_Name.",
"value": "𝑰𝒃𝒓𝒂𝒉𝒊𝒎 𝑨𝒅𝒂𝒎𝒔",
"required": false
},
"STICKER_AUTHOR": {
"description": "Put Sticker Author_Name.",
"value": "𝑰𝒃𝒓𝒂𝒉𝒊𝒎 𝑨𝒅𝒂𝒎𝒔",
"required": false
}
},
"addons": [{ "plan": "heroku-postgresql:essential-0" }],
"buildpacks": [
{ "url": "https://github.com/heroku/heroku-buildpack-nodejs#latest" },
{ "url": "https://github.com/carlosdommor/heroku-buildpack-ffmpeg-latest" }
]
}
82 changes: 82 additions & 0 deletions config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
//GIFTED-MD//
const fs = require("fs-extra");
if (fs.existsSync(".env"))
require("dotenv").config({ path: __dirname + "/.env" });
global.audio = "";
global.video = "";
global.port = process.env.PORT;
global.appUrl = process.env.APP_URL || "";
global.email = "[email protected]";
global.location = "Bumgoma,Kenya";
global.mongodb = process.env.MONGODB_URI || "mongodb+srv://giftedte:[email protected]/?retryWrites=true&w=majority";
global.allowJids = process.env.ALLOW_JID || "null";
global.blockJids = process.env.BLOCK_JID || "null";
global.DATABASE_URL = process.env.DATABASE_URL || "postgres://giftedtech:ZMIkfrL3rHsvmfyGboVXKkeyoM0FPl6z@dpg-cpp83jlds78s73e39m10-a.oregon-postgres.render.com/giftedtech";
global.BUTTONS = process.env.BUTTON_MODE || "1";
global.timezone = process.env.TIME_ZONE || process.env.TIME_ZONE || "Africa/Nairobi";
global.github = process.env.GITHUB || "https://github.com/ibrahimaitech/BLACK-PANTHER-XMD";
global.gurl = process.env.GURL || "https://whatsapp.com/channel/0029VaZuGSxEawdxZK9CzM0Y";
global.website = process.env.GURL || "https://youtube.com/@ibrahimaitech";
global.THUMB_IMAGE = process.env.THUMB_IMAGE || process.env.IMAGE || "https://telegra.ph/file/c5b2b527a08a0b21392e0.jpg";
global.devs = "254739937062,254710772666";
global.sudo = process.env.SUDO_NUMBERS || "254739937062,254710772666";
global.sudo = process.env.SUDO || "254739937062,254710772666";
global.owner = process.env.OWNER_NUMBER || "254739937062,254710772666";
global.style = process.env.STYLE || "1";
global.gdbye = process.env.GOODBYE || "false";
global.wlcm = process.env.WELCOME || "false";
global.warncount = process.env.WARN_COUNT || 5;
global.disablepm = process.env.DISABLE_PM || "true";
global.disablegroup = process.env.DISABLE_GROUPS || "false",
global.MsgsInLog = process.env.MSGS_IN_LOG || "true";
global.userImages = process.env.MENU_VIDEOS || "";
global.waPresence = process.env.WAPRESENCE || "available";
global.userImages = process.env.USER_IMAGES || "https://telegra.ph/file/9e038e5890def3cc7aca7.jpg";
global.readcmds = process.env.READ_COMMAND || "true";
global.readmessage = process.env.READ_MESSAGE || "false";
global.readmessagefrom = process.env.READ_MESSAGE_FROM || "254739937062,254710772666";
global.read_status = process.env.AUTO_READ_STATUS || "true";
global.save_status = process.env.AUTO_SAVE_STATUS || "false";
global.save_status_from = process.env.SAVE_STATUS_FROM || "";
global.read_status_from = process.env.READ_STATUS_FROM || "254739937062,254710772666";

global.api_smd = "https://api-smd.onrender.com";
global.scan = "https://whatsapp.com/channel/0029VaZuGSxEawdxZK9CzM0Y";

global.SESSION_ID =
process.env.SESSION_ID ||
"eyJub2lzZUtleSI6eyJwcml2YXRlIjp7InR5cGUiOiJCdWZmZXIiLCJkYXRhIjoiMEFIbUFwNTBCa2FHdi9sa3BKSzRvaWMxVC9rMDVrK3RCcnlPWVVhRDlFQT0ifSwicHVibGljIjp7InR5cGUiOiJCdWZmZXIiLCJkYXRhIjoiWVowTCtUS1daa0NXOHNoWUJ0c21xYkZYY2x5djZIVi81Sy9ZOXExVFNnVT0ifX0sInBhaXJpbmdFcGhlbWVyYWxLZXlQYWlyIjp7InByaXZhdGUiOnsidHlwZSI6IkJ1ZmZlciIsImRhdGEiOiJ3UHZmVnNpVy9UbXV0VzlEWlhTdkErWmQydTdPVzNOVm5FTkZhVlEyaVZBPSJ9LCJwdWJsaWMiOnsidHlwZSI6IkJ1ZmZlciIsImRhdGEiOiJzaEx4ZDJrQ2IwNWRSNWl5L1BaU21jVTU2VGQ3NjdiNVphaUFqRTZkY1RZPSJ9fSwic2lnbmVkSWRlbnRpdHlLZXkiOnsicHJpdmF0ZSI6eyJ0eXBlIjoiQnVmZmVyIiwiZGF0YSI6IjZONFZHK1ZpeHpjUmxKOGEreUpLRHZwTjA2aXRaQVYzWTlIRSs5YlhoRW89In0sInB1YmxpYyI6eyJ0eXBlIjoiQnVmZmVyIiwiZGF0YSI6InZZQVFSZ1lFaGx1ZUJVbG9DRXdBdmFnb2h5VnQ5SFB5RytTMU9VT3RPREk9In19LCJzaWduZWRQcmVLZXkiOnsia2V5UGFpciI6eyJwcml2YXRlIjp7InR5cGUiOiJCdWZmZXIiLCJkYXRhIjoiVUliOWs3TmNEaEJ0a3BQbGlsazhUQ3k5a2FYQnREMzJCSzdOaTc4dEFuZz0ifSwicHVibGljIjp7InR5cGUiOiJCdWZmZXIiLCJkYXRhIjoiTHdNVFo1ampWSUZzWlR6RWF2dFdhVE5xWGg2c2hPdmZZcnpQOHhxczgzQT0ifX0sInNpZ25hdHVyZSI6eyJ0eXBlIjoiQnVmZmVyIiwiZGF0YSI6ImkzcCtNZHBab3FUMlhPak4vR1JKVjUwMUM4L01MNENkVDhPOVh6ZWdUdHB3ZFkxeTkzSUZrdDFtN2kxMHJCWTh0bHRVMzFUd3cxV2o0WnRNeDhhUWlBPT0ifSwia2V5SWQiOjF9LCJyZWdpc3RyYXRpb25JZCI6MTE5LCJhZHZTZWNyZXRLZXkiOiJrQjNIWUowYXNBQ2FqZmE5MUFPTlpxcElxU1lxaWdrSXZHaDR4T3BYbGJVPSIsInByb2Nlc3NlZEhpc3RvcnlNZXNzYWdlcyI6W10sIm5leHRQcmVLZXlJZCI6MzEsImZpcnN0VW51cGxvYWRlZFByZUtleUlkIjozMSwiYWNjb3VudFN5bmNDb3VudGVyIjowLCJhY2NvdW50U2V0dGluZ3MiOnsidW5hcmNoaXZlQ2hhdHMiOmZhbHNlfSwiZGV2aWNlSWQiOiJJaXlOZ2pqOVRfT0o2aWZzb29rMlhBIiwicGhvbmVJZCI6IjFjMTA1ZTc3LThlZDgtNGE5MC05NDVhLTE0ZmYyNjAzN2U3YSIsImlkZW50aXR5SWQiOnsidHlwZSI6IkJ1ZmZlciIsImRhdGEiOiJiT1FmQ3NWK2lkK3ZYajlPYXd6YW1CQzRKeGs9In0sInJlZ2lzdGVyZWQiOnRydWUsImJhY2t1cFRva2VuIjp7InR5cGUiOiJCdWZmZXIiLCJkYXRhIjoibXZ0K1I3SnpVK21qeXErRitVT1FUNm5LMXVBPSJ9LCJyZWdpc3RyYXRpb24iOnt9LCJwYWlyaW5nQ29kZSI6Ijg4U1JYMlY1IiwibWUiOnsiaWQiOiIyNTQ3NjQwODIwNTA6NUBzLndoYXRzYXBwLm5ldCJ9LCJhY2NvdW50Ijp7ImRldGFpbHMiOiJDTmlEdExzR0VLMmFtclFHR0FFZ0FDZ0EiLCJhY2NvdW50U2lnbmF0dXJlS2V5IjoiNDdyVEE4SHhkWW9HOVNKamxGTGZrVlRhdmZnQ2dQZk9laVY4ZVZhL0EzTT0iLCJhY2NvdW50U2lnbmF0dXJlIjoiUHZ5SFNpTkVFVjdISGlvUDc4Qzg1SHNjclNnRkdMT0xjZ2wxcU1sdExxMThtMVhOeWZua0N0RzkzSmxyLy82bkp5aFFNZE04ay9XWC9RTWpHS2JZQlE9PSIsImRldmljZVNpZ25hdHVyZSI6IlM3NlAzWlkvQlQzNEpwRTRCZ21ybEdjcUJOMm5IRE9sc2d6cDl2Q0NqRXUxU0EzTmFxLzUrL0x2NWtHRnpUeEo1VVA0NGYwV2xaZFI5N09JOE1kVGdRPT0ifSwic2lnbmFsSWRlbnRpdGllcyI6W3siaWRlbnRpZmllciI6eyJuYW1lIjoiMjU0NzY0MDgyMDUwOjVAcy53aGF0c2FwcC5uZXQiLCJkZXZpY2VJZCI6MH0sImlkZW50aWZpZXJLZXkiOnsidHlwZSI6IkJ1ZmZlciIsImRhdGEiOiJCZU82MHdQQjhYV0tCdlVpWTVSUzM1RlUycjM0QW9EM3pub2xmSGxXdndOeiJ9fV0sInBsYXRmb3JtIjoiYW5kcm9pZCIsImxhc3RBY2NvdW50U3luY1RpbWVzdGFtcCI6MTcyMDA5NDAxMSwibXlBcHBTdGF0ZUtleUlkIjoiQUFBQUFOaHcifQ=="
module.exports = {
menu: process.env.MENU_STYLE || "G1", /*Leave it in Default else bot will Crash*/
HANDLERS: process.env.PREFIX || ".",
BRANCH: process.env.BRANCH || "main",
VERSION: process.env.VERSION || "4.0.0",
caption: process.env.CAPTION ||" 𝘽𝙇𝘼𝘾𝙆-𝙋𝘼𝙉𝙏𝙃𝙀𝙍-𝙈𝘿",
author: process.env.STICKER_AUTHOR || "𝘽𝙇𝘼𝘾𝙆-𝙋𝘼𝙉𝙏𝙃𝙀𝙍-𝙈𝘿",
packname: process.env.STICKER_NAME || "🐯",
botname: process.env.BOT_NAME || "𝘽𝙇𝘼𝘾𝙆-𝙋𝘼𝙉𝙏𝙃𝙀𝙍-𝙈𝘿",
ownername: process.env.OWNER_NAME || "𝑰𝒃𝒓𝒂𝒉𝒊𝒎 𝑨𝒅𝒂𝒎𝒔",
errorChat: process.env.ERROR_CHAT || "",
KOYEB_API: process.env.KOYEB_API || "false",
REMOVE_BG_KEY: process.env.REMOVE_BG_KEY || "neLbXXrp8bSDcohnp1CW5UEa",
OPENAI_API_KEY: process.env.OPENAI_API_KEY || "",
HEROKU_API_KEY: process.env.HEROKU_API_KEY || "",
HEROKU_APP_NAME: process.env.HEROKU_APP_NAME || "",
antilink_values: process.env.ANTILINK_VALUES || "all",
HEROKU: process.env.HEROKU_APP_NAME && process.env.HEROKU_API_KEY,
aitts_Voice_Id: process.env.AITTS_ID || "37",
ELEVENLAB_API_KEY: process.env.ELEVENLAB_API_KEY || "",
WORKTYPE: process.env.WORKTYPE || process.env.MODE || "private",
LANG: (process.env.THEME || "ADAM").toUpperCase(),
};
global.rank = "updated";
global.isMongodb = false;
let file = require.resolve(__filename);
fs.watchFile(file, () => {
fs.unwatchFile(file);
console.log(`Update'${__filename}'`);
delete require.cache[file];
require(file);
});


16 changes: 16 additions & 0 deletions gifted.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
const bot = require(__dirname + '/lib/gift')
const { VERSION } = require(__dirname + '/config')

const start = async () => {
Debug.info(`Starting Gifted - ${VERSION}`)
try {
await bot.init()
//bot.logger.info('⏳ Database Syncing!')
await bot.DATABASE.sync()
await bot.connect()
} catch (error) {
Debug.error(error);
start();
}
}
start();
1 change: 1 addition & 0 deletions gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
node_modules
6 changes: 6 additions & 0 deletions heroku.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#heroku.yml file data to run Container
build:
docker:
web: lib/Dockerfile
run:
web: npm start
19 changes: 19 additions & 0 deletions lib/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Don't change this [ /GiftedTech/ ] name!
# Change from below link, else bot wil not work!


FROM node:20

RUN git clone https://github.com/kingibrahimtech/Error.git /root/Gifted

# Clear npm cache and remove node_modules directories
RUN npm cache clean --force
RUN rm -rf /root/Gifted/node_modules

# Install dependencies
WORKDIR /root/Gifted
RUN npm install

# Add additional Steps To Run...
EXPOSE 3000
CMD ["npm","start" ]
Loading

0 comments on commit 1611000

Please sign in to comment.