GithubHelp home page GithubHelp logo

samuelba / google-chat-standup-bot Goto Github PK

View Code? Open in Web Editor NEW
4.0 2.0 4.0 333 KB

A Google Chat bot for standup meetings.

License: GNU General Public License v3.0

Dockerfile 0.87% Python 97.15% Shell 1.98%
standup-questions bot google-chat google-chat-bot standup-meetings

google-chat-standup-bot's Introduction

Google Chat Standup Bot

Unit Testing

This is a Google Chat bot for Google Workspace to ask the users the three defined standup questions. After the questions have been answered, the bot will publish the answers as a card to the group chat of the team. The standup questions can be either triggered automatically by a user configurable schedule, or manually by the user.

Features

  • Supports different teams
  • Bot publishes the standup answers to the team room
  • Users can configure their own schedules, at which days and time they want to get a standup notification
  • The questions are configurable per team
  • The user can redo the standup questions, and the answers card will be updated in the team room

Screenshots

Supported Slash Commands

Command Description id
/standup Triggers the standup questions. This can also retrigger the standup questions, if you made a mistake. 6
/users [TEAM] List the users of the bot, optional filtered by the team. 5
/teams List the available teams. 3
/add_team TEAM Add a new team. 1
/join_team Trigger to join another team. Will display an interactive card with teams to join. 4
/leave_team Leave the team. 11
/remove_team Remove a team. 12
/schedules List the schedules. 10
/enable_schedule Trigger to enable a schedule. Will display an interactive card with the schedules. 8
/disable_schedule Trigger to disable a schedule. Will display an interactive card with the schedules. 7
/change_schedule_time WEEKDAY TIME Change the schedule time of the weekday. 9
/questions List the standup questions of your team. 13
/add_question QUESTION Add a new standup quesiton for your team. 14
/remove_question Remove a standup question from your team. 15
/reorder_questions Reorder the standup questions of your team. 16

When you set up the bot in your Google Workspace account, make sure to use the same ids for the slash commands as in the table above.

Google Chat Setup

TBD

Traefik

For the Traefik reverse proxy setup look at my cloud-services repository.

Database Schema

See it on dbdiagram.io.

Database Schema

google-chat-standup-bot's People

Contributors

samuelba avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

google-chat-standup-bot's Issues

Tasks

  • Add more unit tests
  • To join a room to a team, it should leave first if it is already assigned to a team (add slash command /leave_team) #4
  • It should be only possible to join the room to a team if the team has no other room assigned yet #4
  • Slash command to delete a team if it has no more members /remove_team TEAM #5
  • Rethink the slash commands that are possible in a room
  • Make the questions configurable by the team (goes a bit further than #3) #6
    • New db table questions(id (int), team_id (int), question (varchar), order(int)) #6
      • Refer in the standups table to the question_id instead of the question_type #6
    • Slash command to reorder questions /reorder_questions --> publish a card to the user with the questions (user has to click the questions in the order he wants them (update card with the order?) #6
    • Slash command to delete a question /delete_question --> publish a card to the user with the questions (user has to click on delete) #6
    • Slash command to add a question /add_question QUESTION #6
    • Add the default three questions to the team when created #6
  • Use a card to enable/disable schedules #10

How to setup?

Hi, would like to use this for Google chat. How can I set this up?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.