Skip to content

Latest commit

 

History

History
95 lines (76 loc) · 2.67 KB

README.md

File metadata and controls

95 lines (76 loc) · 2.67 KB

Octobot

Discord bot, that allows its users to integrate different services used in Flying Octopus together.

Features

Add organization's member and manage their profiles and statuses on multiple services using Discord's commands. Manage and sync reports written by users across services.

Motivation

  • Minimize the amount of work non-tech savvy member's of the team have to do while adding new members of the team.
  • Reduce amount of manual copy-pasting required to keep all reports synchronized
  • Track member's activity to comply with internal rules

Requirements

Installation

Clone repository and create config file in config/config.json following this template

{
  "database_url": "postgresql://[user[:password]@][netloc][:port][/dbname][?param1=value1&...]",
  "activity_threshold_days": 123,
  "meeting": {
    "cron": "",
    "channel_id": 123456789012345678
  },
  "discord": {
    "token": "",
    "member_role_id": 123456789012345678,
    "apprentice_role_id": 123456789012345678,
    "server_id": 123456789012345678,
    "summary_channel": 123456789012345678
  },
  "wiki": {
    "token": "Bearer very_long_token",
    "url": "https://wiki.example.com",
    "graphql": "https://wiki.example.com/graphql",
    "provider_key": "long-key-for-discord-provider",
    "member_group_id": 123456789012345678,
    "guest_group_id": 123456789012345678
  }
}

Add your bot to the Discord server you've specified in the config, and make sure it has all required permissions to access the channels. Run the bot using cargo

cargo run --release

Roadmap

  • Member management
    • Create
    • Read
    • Update
    • Delete
  • Report management
    • Create
    • Read
    • Update
    • Delete
    • Check member's minimum activity
  • Weekly meetings
    • Check attendance
    • Write reports after the meeting
    • Include attendees in the report
  • Discord commands
    • User
    • Report
    • Weekly
  • Trello integration
    • Auto-invite members
    • Update and sync member information
    • Report synchronization
  • Wiki.js integration
    • Auto-invite members
    • Add and remove member from groups
    • Update and sync member information

Contributors

Join our Discord server to learn more about our plans and help us develop this tool!

License

Licensed under either of these: