- 📝 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
handlerEvents
will 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 banned
or modeadmin box only is turned on
or not, if not, it will execute the command. - next, it will check the
permission
of the user. - next, it will check if the
countdown
of command is over or not. - finally, it will execute the command and
log
information to the console.
- the handler will check if user
-
onChat
:- the handler will run
when the user sends a message
. - it will check
permission
of the user. - the handler will
execute
the command, if it return afunction
orasync function
then it willl checkuser banned
or modeadmin box only is turned on
or not, if not, it will call the function andlog
information to the console.
- the handler will run
-
onFirstChat
:- the handler will run
when get the first message
from 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
reacts
to amessage has messageID
is set inGoatBot.onReaction
as 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
permission
of the user andexecute
if the user has permission andlog
information to the console.
- the handler will run when the user
-
onReply
:- the handler will run when the user
replies
to amessage has messageID
is set inGoatBot.onReply
as 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
permission
of the user andexecute
if the user has permission andlog
information to the console.
- the handler will run when the user
-
onEvent
:- the handler will run
when the user has a new event
typeevent
(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
onEvent
and get the command determined by the keycommandName
and execute theonEvent
in that command. - if it return a
function
orasync function
then it will call the function andlog
information to the console.
- it will loop through all
- the handler will run
-
handlerEvent
:- the handler will run
when the user has a new event
typeevent
(new user join, user leave chat box, change admin box,...) - it will get all the eventCommand set in
GoatBot.eventCommands
(scripts placed in thescripts/events
folder) - it will loop through all
eventCommands
and run theonStart
in that command. - if it return a
function
orasync function
then it will call the function andlog
information to the console.
- the handler will run
-
- Click on the
Watch
button in the upper right corner of the screen and selectCustom
and selectPull requests
andReleases
and clickApply
to 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:
-
[x]
en: English
-
[x]
vi: Vietnamese
-
Change language in
config.json
file -
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