- 📝 Note
- 🚧 Requirement
- 📝 Tutorial
- 💡 How it works?
- 🔔 How to get notification when have new update?
- 🆙 How to Update
- 🛠️ How to create new commands
- 💭 Support
- 📚 Support Languages in source code
- 📌 Common Problems
- ❌ DO NOT USE THE ORIGINAL UNDERGRADUATE VERSION
- 📸 Screenshots
- ✨ Copyright (C)
- 📜 License
- This is a messenger chat bot using a personal account, using an unofficial api (Origin here) and this may lead to facebook account being locked due to spam or other reasons.
- So, I recommend using a clone account (one that you're willing to throw away at any time)
- I am not responsible for any problems that may arise from using this bot.
- Node.js 16.x Download | Home | Other versions
- Knowledge of programming, javascript, nodejs, unofficial facebook api
Tutorial has been uploaded on YouTube
- For mobile phone: https://www.youtube.com/watch?v=grVeZ76HlgA
- For vps/windows: https://www.youtube.com/watch?v=uCbSYNQNEwY
Summary instructions:
- See here
- The bot uses the unofficial facebook api to send and receive messages from the user.
- When having a
new event(message, reaction, new user join, user leave chat box,...) the bot will emit an event to thehandlerEvents. - The
handlerEventswill handle the event and execute the command:-
onStart:- the handler will check if user
call a command or not. - if yes, it will check if
user bannedor modeadmin box only is turned onor not, if not, it will execute the command. - next, it will check the
permissionof the user. - next, it will check if the
countdownof command is over or not. - finally, it will execute the command and
loginformation to the console.
- the handler will check if user
-
onChat:- the handler will run
when the user sends a message. - it will check
permissionof the user. - the handler will
executethe command, if it return afunctionorasync functionthen it willl checkuser bannedor modeadmin box only is turned onor not, if not, it will call the function andloginformation to the console.
- the handler will run
-
onFirstChat:- the handler will run
when get the first messagefrom the chat box since the bot started. - the way it works is like
onChat.
- the handler will run
-
onReaction:- the handler will run when the user
reactsto amessage has messageIDis set inGoatBot.onReactionas follows:// example: global.GoatBot.onReaction.set(msg.messageID, { messageID: msg.messageID, commandName, // ... and more });
- the handler will automatically add method
delete, if this method is called, it will delete the message from the set. - next, it will check
permissionof the user andexecuteif the user has permission andloginformation to the console.
- the handler will run when the user
-
onReply:- the handler will run when the user
repliesto amessage has messageIDis set inGoatBot.onReplyas follows:// example: global.GoatBot.onReply.set(msg.messageID, { messageID: msg.messageID, commandName, // ... and more });
- the handler will automatically add method
delete, if this method is called, it will delete the message from the set. - next, it will check
permissionof the user andexecuteif the user has permission andloginformation to the console.
- the handler will run when the user
-
onEvent:- the handler will run
when the user has a new eventtypeevent(new user join, user leave chat box, change admin box,...)// example: global.GoatBot.onEvent.set(msg.messageID, { messageID: msg.messageID, commandName, // ... and more });
- it will loop through all
onEventand get the command determined by the keycommandNameand execute theonEventin that command. - if it return a
functionorasync functionthen it will call the function andloginformation to the console.
- it will loop through all
- the handler will run
-
handlerEvent:- the handler will run
when the user has a new eventtypeevent(new user join, user leave chat box, change admin box,...) - it will get all the eventCommand set in
GoatBot.eventCommands(scripts placed in thescripts/eventsfolder) - it will loop through all
eventCommandsand run theonStartin that command. - if it return a
functionorasync functionthen it will call the function andloginformation to the console.
- the handler will run
-
- Click on the
Watchbutton in the upper right corner of the screen and selectCustomand selectPull requestsandReleasesand clickApplyto get notified when there is a new update.
Tutorial has been uploaded on YouTube
- on phone/repl: https://youtu.be/grVeZ76HlgA?t=1342
- on vps/computer: https://youtu.be/uCbSYNQNEwY?t=508
- See here
If you have major coding issues with this bot, please join and ask for help.
- https://discord.com/invite/DbyGwmkpVY (recommended)
- https://www.facebook.com/groups/goatbot
- https://m.me/j/Abbq0B-nmkGJUl2C
https://t.me/gatbottt(no longer supported)- Please do not inbox me, I do not respond to private messages, any questions please join the chat group for answers. ThankThanks!
-
Currently, the bot supports 2 languages:
-
en: English -
vi: Vietnamese -
Change language in
config.jsonfile -
You can customize the language in the folder
languages/,languages/cmds/andlanguages/events/
📌 Error 400: redirect_uri_mismatch
1. Enable Google Drive API: Tutorial
2. Add uri https://developers.google.com/oauthplayground (not https://developers.google.com/oauthplayground/) to Authorized redirect URIs in OAuth consent screen: Tutorial
3. Choose https://www.googleapis.com/auth/drive and https://mail.google.com/ in OAuth 2.0 Playground: Tutorial
📌 Error for site owners: Invalid domain for site key
1. Go to https://www.google.com/recaptcha/admin
2. Add domain repl.co (not repl.com) to Domains in reCAPTCHA v2 Tutorial
📌 GaxiosError: invalid_grant, unauthorized_client
- If you don't publish the project in google console, the refresh token will expire after 1 week and you need to get it back. Tuatorial
📌 GaxiosError: invalid_client
- Check if you have entered your google project client_id correctly Tuatorial
📌 Error 403: access_denied
- If you don't publish the project in google console only the approved accounts added to the project can use it Tuatorial
- The use of unknown source code can lead to the device being infected with viruses, malware, hacked social accounts, banks, ...
- Goat-Bot-V2 is only published at https://github.com/ntkhang03/Goat-Bot-V2, all other sources, all forks from other github, replit,... are fake, violate policy
- If you use from other sources (whether accidentally or intentionally) it means that you are in violation and will be banned without notice
VIETNAMESE
- Nếu bạn vi phạm bất kỳ quy tắc nào, bạn sẽ bị cấm sử dụng dự án của tôi
- Không bán mã nguồn của tôi
- Không tự xưng là chủ sở hữu của mã nguồn của tôi
- Không kiếm tiền từ mã nguồn của tôi (chẳng hạn như: mua bán lệnh, mua bán/cho thuê bot, kêu gọi quyên góp, v.v.)
- Không xóa/sửa đổi credit (tên tác giả) trong mã nguồn của tôi
ENGLISH
- If you violate any rules, you will be banned from using my project
- Don't sell my source code
- Don't claim my source code as your own
- Do not monetize my source code (such as: buy and sell commands, buy and sell bots, call for donations, etc.)
- Don't remove/edit my credits (author name) in my source code


























