All Projects → FabrizioBrancati → Swiftybot

FabrizioBrancati / Swiftybot

Licence: mit
How to create a Telegram, Facebook Messenger, and Google Assistant bot with Swift using Vapor on Ubuntu / macOS.

Programming Languages

swift
15916 projects

Projects that are alternatives of or similar to Swiftybot

Urban Bot
🤖 The universal chatbot library based on React. Write once, launch Telegram, Facebook, Slack, ... every messenger with chatbots
Stars: ✭ 223 (-9.72%)
Mutual labels:  bot, telegram-bot, facebook-messenger-bot, telegram
messenger
💬 A PHP library for Facebook Messenger
Stars: ✭ 53 (-78.54%)
Mutual labels:  facebook, messenger, messenger-bot, facebook-messenger-bot
Magento Chatbot
Magento Chatbot Integration with Telegram, Messenger, Whatsapp, WeChat, Skype and wit.ai.
Stars: ✭ 149 (-39.68%)
Mutual labels:  bot, telegram, messenger, facebook
Spotify Bot
Spotify Messenger Bot
Stars: ✭ 12 (-95.14%)
Mutual labels:  bot, facebook-messenger-bot, messenger, facebook
Telegrammer
Telegram Bot - written with Swift 5.2 / NIO, supports Linux, macOS
Stars: ✭ 248 (+0.4%)
Mutual labels:  telegram-bot, vapor, telegram, ubuntu
Chatblocks
Declarative Messenger chatbot framework
Stars: ✭ 48 (-80.57%)
Mutual labels:  facebook-messenger-bot, messenger-bot, messenger, facebook
Tlg joincaptchabot
Telegram Bot to verify if users that join a group, are humans. The Bot send an image captcha for each new user, and kick any of them that can't solve the captcha in a specified time.
Stars: ✭ 226 (-8.5%)
Mutual labels:  bot, telegram-bot, telegram
Messenger Platform Postman Collection
A delicious Postman collection for all your Messenger Platform needs.
Stars: ✭ 150 (-39.27%)
Mutual labels:  bot, messenger-bot, facebook
React Messenger Customer Chat
React component for messenger customer chat plugin
Stars: ✭ 221 (-10.53%)
Mutual labels:  messenger-bot, messenger, facebook
Facebooktoolkit
a tool to get Facebook data, and some Facebook bots, and extra tools found on Facebook Toolkit ++.
Stars: ✭ 227 (-8.1%)
Mutual labels:  bot, facebook-messenger-bot, facebook
Vk To Telegram Transfer Bot
Бот, пересылающий сообщения из чатов ВК в Telegram и обратно
Stars: ✭ 143 (-42.11%)
Mutual labels:  bot, telegram-bot, telegram
Telegram Bot Sdk
🤖 Telegram Bot API PHP SDK. Lets you build Telegram Bots easily! Supports Laravel out of the box.
Stars: ✭ 2,212 (+795.55%)
Mutual labels:  bot, telegram-bot, telegram
Micro Bot
🤖 Zero-configuration Telegram bot runner
Stars: ✭ 173 (-29.96%)
Mutual labels:  bot, telegram-bot, telegram
Miscord
Facebook Messenger to Discord bridge
Stars: ✭ 225 (-8.91%)
Mutual labels:  bot, messenger, facebook
Turnstile
An authentication framework for Swift.
Stars: ✭ 163 (-34.01%)
Mutual labels:  google, vapor, facebook
Java Telegram Bot Tutorial
Java Telegram Bot Tutorial. Feel free to submit issue if you found a mistake.
Stars: ✭ 165 (-33.2%)
Mutual labels:  bot, telegram-bot, telegram
Messenger4j
A Java library for building Chatbots on the Facebook Messenger Platform - easy and fast.
Stars: ✭ 199 (-19.43%)
Mutual labels:  bot, messenger, facebook
Icopy
fclone telegram interface.Send commands to Telegram BOT for get a convience way to control fclone resources copy missions.
Stars: ✭ 188 (-23.89%)
Mutual labels:  bot, telegram-bot, telegram
Telegram Rat
Windows Remote Administration Tool via Telegram. Written in Python
Stars: ✭ 201 (-18.62%)
Mutual labels:  bot, telegram-bot, telegram
Node Fb Messenger
✉️ Facebook Messenger Platform Node.js API Wrapper
Stars: ✭ 206 (-16.6%)
Mutual labels:  bot, messenger, facebook

SwiftyBot Banner

Build Status Coverage Status Maintainability Codebeat Badge Codacy Badge
Version Language Platforms License


FeaturesPlatforms and TutorialsLanguage SupportRequirementsCommunicationContributingDeployingPlatforms UsageDocumentationChangelogDemosAuthorsLicense


Features

SwiftyBot is an example of how to create a bot with Swift on top of Vapor.

Here is the list of all the features:

  • [x] Telegram bot integration
  • [x] Facebook Messenger bot integration
  • [x] Google Assistant bot integration
  • [x] Well documented (you can find more in Documentation section)
  • [x] Well tested (currently 99% of code coverage)
  • [x] Clean (every bot platform has its folder with its files and tests)
  • [x] Easy to follow (every bot platform comes with a tutorial, more in Platforms and Tutorials section)
  • [x] Multi language support

There are a lot of bot platforms out there that can be added...

Platforms and Tutorials

Bot Platform Blog Post Link
Telegram How to create a Telegram bot with Swift using Vapor on Ubuntu / macOS
Facebook Messenger How to create a Facebook Messenger bot with Swift
Google Assistant Not Available Yet

Language Support

  • English (en)

Requirements

  • Ubuntu 14.04 or later with Swift 5.1 or later / macOS with Xcode 11.2 or later
  • Telegram account and a Telegram app for any platform (Telegram bot only)
  • Facebook account and a Facebook Messenger app for any platform (Facebook Messenger bot only)
  • Google account and a Google Assistant app for any platform (Google Assistant bot only)

Communication

  • If you need help, open an issue.
  • If you found a bug, open an issue.
  • If you have a feature request, open an issue.
  • If you want to contribute, see Contributing section.

Contributing

See CONTRIBUTING.md file.

Deploying

Private Server

  1. Install Swift on your computer / server
  2. Install Vapor Toolbox (Optional)
  3. Enable TLS (You can use Let's Encrypt)
  4. Use Apache or nginx as reverse proxy
  5. Use Supervisor to ensure your bot is always up and running

If you need more help through this steps, you can read How to create a Facebook Messenger bot with Swift blog post, from Step 1 to Step 4.

Heroku

Deploy

  1. Click the button above
  2. Go to the Settings section of your application
  3. Click on the Reveal Config Vars button in Config Vars section
  4. Copy all the created secret key set to up the bots, read the next sections for more info

Vapor Cloud

  1. Create an account on Vapor Cloud
  2. Create an organization
  3. Create a project
  4. Create an application
  5. Add an hosting service and connect it to your GitHub repository
  6. Add at least 1 environment, 2 is better
  7. Use the Vapor Toolbox to deploy your bot

Platforms Usage

Telegram

  1. Set a secret key in TELEGRAM_SECRET environment variable
  2. Create a Telegram bot with BotFather

If you need more help through this steps, you can read How to create a Telegram bot with Swift using Vapor on Ubuntu / macOS blog post.

Facebook Messenger

  1. Set a secret key in MESSENGER_SECRET environment variable
  2. Create a Facebook app and Page
  3. Get a Page access token and set it in MESSENGER_TOKEN environment variable

If you need more help through this steps, you can read How to create a Facebook Messenger bot with Swift blog post.

Google Assistant

  1. Set a secret key in ASSISTANT_SECRET environment variable
  2. Create an Actions on Google project
  3. Setup Actions on Google project on Dialogflow

Documentation

Bot

  • Every line of every project file is commented.
  • If you need Vapor documentation you can find it here.

Platforms

  • If you need Telegram bot documentation you can find it here.
  • If you need Facebook Messenger bot documentation you can find it here.
  • If you need Google Assistant bot documentation you can find it here and here. You can also find some JSON examples here and here.

Changelog

To see what has changed in recent version of SwiftyBot, see the CHANGELOG.md file.

Demos

Telegram

You can open Telegram and search for SwiftyBot to start talking with him!

Facebook Messenger

You can open Facebook Messenger and search for SwiftyBotMessenger to start talking with him!

Google Assistant

You can open Google Assistant and write Talk to SwiftyBot to start talking with him!

Authors

Bot

Fabrizio Brancati

https://www.fabriziobrancati.com - [email protected]

Icon

Roberto Chiaveri

http://robertochiaveri.it

License

SwiftyBot is available under the MIT license. See the LICENSE file for more info.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].