Skip to content

Repo for the robotic servant for Coding Pirates slack

Notifications You must be signed in to change notification settings

CodingPirates/robo-pirate

 
 

Repository files navigation

Beep, Beep, Yarrh!

Robo pirate CircleCI (all branches) Coverage Status

I am the robot servant for the Coding Pirates slack channel. My purpose is to aid in the communication for all the volunteers in Coding Pirates.

My tasks

Below you see a list of the task I either intend to learn or already can do.

  • Post when new channel is created: Once a new channel is created I should post the name of the channel along with a link to it in the #announcements channel.
  • Invite people: Visit the root ("/") of the server running me, and you'll see an invite form. Fill this out and I will present the info in the slack thread specified in the environment variables. If you accept the invite request I will send them an invite. #announcements channel.
  • Welcome new people: Once a new user joins our slack they should be greeted with a welcome message and instructions on how we use slack.
  • Check for profile description: Since we are so many people in our slack we want people to write their department in their profile. I will write them a friendly reminder until they do it.
  • Decisions: The board of Coding Pirates uses slack to make decision between meetings. If people type @robo-pirate Vote [public | private] Should we give the bot more rum?. I will create a new message and ask people to vote in the message thread. If the decision reaches a majority vote I will post the vote results to a specified decision channel. The [public| private] flag decides on if I post to a public or private decision channel. ""`

Configuration

The bot coded according to the 12 factor principles, this means that all configuration happens through environment variables. The variables to be filled out can be found in config/test.exs, copy it to config/secret.exs for development.

Slack setup

TODO: finish this

Development setup

Slack has nice guide for setting up a test environment with ngrok. You must configure a URL for the events API as described in their tutorial.

Test setup

TODO: finish this

Production setup

TODO: finish this

Contributing

Pull requests are more than welcome, if you want to discuss the development either create an issue or jump into our slack and ask in #robo-pirate-dev
If you want a development setup, join the dev slack and ask for a token pair. There are unit tests that can be run be calling

    mix test
    mix coveralls.html # To get test coverage

If you create test coverage open the generated file in cover/excoveralls.html and check. All code on the master branch is deployed if the tests pass.

About

Repo for the robotic servant for Coding Pirates slack

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Elixir 88.8%
  • HTML 11.2%