A modular Discord bot that can make phone calls using a variety of providers, including IFTTT, Twilio, Vonage, Plivo, ClickSend, MessageBird, and Sinch. Easily configurable and extensible for new integrations.
- Make phone calls from Discord using multiple providers.
- Modular design: each provider is a separate cog.
- Easy configuration via
config.json
. - Cooldown and message length limits.
- Python 3.6+ compatible.
Provider | Command | Description |
---|---|---|
IFTTT | !call |
Calls via IFTTT VoIP applet |
Twilio | !twilio_call |
Calls using Twilio API |
Vonage | !vonage_call |
Calls using Vonage Voice API |
Plivo | !plivo_call |
Calls using Plivo Voice API |
ClickSend | !clicksend_call |
Calls using ClickSend TTS |
MessageBird | !messagebird_call |
Calls using MessageBird Voice |
Sinch | !sinch_call |
Calls using Sinch Voice API |
.
βββ bot/
β βββ __init__.py
β βββ config.py
β βββ core.py
β βββ cogs/
β βββ __init__.py
β βββ ifttt_call.py
β βββ twilio_call.py
β βββ vonage_call.py
β βββ plivo_call.py
β βββ clicksend_call.py
β βββ messagebird_call.py
β βββ sinch_call.py
βββ config.json
βββ config.json.example
βββ requirements.txt
βββ main.py
βββ README.md
-
Clone the repository and install dependencies:
pip install -r requirements.txt
-
Configure your bot:
- Copy
config.json.example
toconfig.json
. - Fill in the required fields for the providers you want to use.
- You must always set up your Discord bot token and a command prefix.
- Copy
-
Provider Setup:
- For each provider, follow their documentation to obtain API keys, tokens, and phone numbers.
- See comments in
config.json.example
for required fields.
-
Run the bot:
python main.py
See config.json.example
for all available options and documentation.
- Add a new cog in
bot/cogs/
. - Document new config fields in
config.json.example
. - Update this README with the new command.