Skip to content

Over-Engineered personal bot. Build with maximum scalability, development speed and integration between all possible platforms in mind.

Notifications You must be signed in to change notification settings

hamzaabamboo/hambot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HamBot

Personal cross-platform bot to help keep up with tasks and lots more stuff. Built with scalability and least pain to add new features.

Integrations

Messaging Platform

  • Line Messaging API
  • Discord Bot
  • Trello
  • Messenger
  • Github

External APIs

  • ical calendars
  • Wanikani
  • Twitter Stream

Features

Core Functionality

  • Ping
  • Authorization
  • Message Handling
  • Commands
  • Compound Commands
  • Audio Playing (only on supported platform)
  • Scheduling
  • Push Messages, Multiple push channels (Public/ Private/ Debug/ Recurring)
  • Activation/Deactivation of modules
  • Effortlessly add platforms
  • Embed links
  • Help command

Functions

Personal

These functions requires authentication

  • Task tracking from Trello
    • Add task
    • Task reminder
  • Take notes
  • Audio Streaming (Discord only)
  • Temporary file sharing
  • Clipboard
  • Recurring events reminder
  • Calendar (ical) Events reminder
  • Set Discord server image

Public

  • Youtube music (Discord only)
  • Generate promptpay QRcode
  • Random chooser/ Group maker/ Weighted Randomizer
  • Shaking in Discord ** very recommended **
  • Search nyaa site

Installation

Create .env file using .env.example as template

LINE_CHANNEL_ACCESS_TOKEN=<Line channel access token>
LINE_CHANNEL_SECRET=<Line channelSecret>
TRELLO_API_KEY=<Trello key>
TRELLO_OAUTH_TOKEN=<Trello OAuth>
DISCORD_TOKEN=<Discord bot token>
PUBLIC_URL=<Url of the bot>
FACEBOOK_VERIFY_TOKEN=<A random string for verifying webhook>
FACEBOOK_PAGE_ACCESS_TOKEN=<Facebook page access token>
WANIKANI_API_KEY=<wanikani api key>
TWITTER_BEARER_TOKEN=<twitter bearer token>

Roadmap

This is a short plan for making this repository more configurable and easier to work with.

  • Abstract Data Source For More Compatability
  • Auto-enable modules when corresponding .env is inserted
  • Auto register command modules ()
  • Refactor Important modules (Push/ Logging/ Data)

Development

# install dependencies
yarn
# start development server
yarn start:dev

Production

# install dependencies
yarn
# build project
yarn build
# start server
yarn start

or clone the project into server and use deploy.sh script and let docker compose do the work

About

Over-Engineered personal bot. Build with maximum scalability, development speed and integration between all possible platforms in mind.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages