Ampalibe is a lightweight Python framework for building Facebook Messenger bots faster. It provides a new concept, it manages webhooks, processes data sent by Facebook and provides API Messenger with advanced functions such as payload management, item length, and more.
Show your support by giving a star 🌟 if this project helped you!
pip install ampalibe
OR you can install dev version
pip install https://github.com/iTeam-S/Ampalibe/archive/refs/heads/main.zip
if you use mysql as database, you have to install mysql-connector
or mysql-connector-python
with ampalibe
pip install ampalibe[mysql-connector]
if you use postgresql as database, you have to install psycopg2
with ampalibe
pip install ampalibe[psycopg2]
if you use mongodb as database, you have to install pymongo
with ampalibe
pip install ampalibe[pymongo]
command-line ampalibe is ampalibe.bat for Windows
ampalibe create myproject
OR
$ cd myproject
$ ampalibe init
to run project, just use
ampalibe run
for dev mode with Hot Reload
ampalibe run --dev
You will need to configure a Facebook application, a Facebook page, get the access to the page, link the application to the page, configure a webhook for your app before you can really start using Ampalibe.
This app setup guide should help
OR
See this video on Youtube
import ampalibe
from ampalibe import Messenger, Model
from ampalibe.messenger import Action
chat = Messenger()
query = Model()
@ampalibe.before_receive()
def before_process(sender_id, **ext):
# Mark as seen for each message received
chat.send_action(sender_id, Action.mark_seen)
return True
@ampalibe.command('/')
def main(sender_id, cmd, **ext):
"""
No need to manage weebhooks and data: messages are received directly in a main function
"""
chat.send_text(sender_id, 'Enter your name')
# define the function of the next treatment
query.set_action(sender_id, '/get_name')
@ampalibe.action('/get_name')
def get_name(sender_id, cmd, **ext):
query.set_action(sender_id, None) # clear current action
chat.send_text(sender_id, f'Hello {cmd}') # greeting with name enter by user
- [Youtube] Create a Facebook Bot Messenger with AMPALIBE Framework (EN)
- [Youtube] Tutoriel Framework Ampalibe (FR)
- [Youtube] Ampalibe Framework Episode (Teny Vary Masaka)
Using container
Go to our dir project and run
$ docker run -d -v "${PWD}:/usr/src/app" -p 4555:4555 ghcr.io/iteam-s/ampalibe
Using heroku container
-
Go to heroku docs for docker deploys
-
Change your Dockerfile like this
FROM ghcr.io/iteam-s/ampalibe
ADD . /usr/src/app/
# RUN pip install --no-cache-dir -r requirements.txt
CMD ampalibe -p $PORT run
- Customize your Dockerfile if necessary
Using heroku python
-
Go to heroku docs for Getting Started on Heroku with Python
-
Define your Procfile like this
web: ampalibe -p $PORT run
Other plateform ?
Maybe just run ampalibe run
in the right directory? or specify port if needed ampalibe -p 1774 run
Ampalibe is a word of Malagasy origin designating the fruit jackfruit.
We have made a promise to
- keep it light
- make it easy to use
- do it quickly to develop
-
Ampalibe extension by Raja Rakotonirina
A VScode extension that allows the user to write a snippet of code using easy to remember prefixes
-
Ampalibe Odoo Addons by Rivo Lalaina
An Odoo module to synchronize the Ampalibe Framework with Odoo ERP.