A simple tool to get immediate notifications in Slack once your Ukrainian colleagues become unavailable due to an air raid or artillery shelling threats.
- π Easy to use
- π Mention specific colleagues by area
- π Multi-language
- π€ Free, but you can make a donation to charity funds in Ukraine
This tool is specifically designed to provide real-time updates on the safety status of colleagues in Ukraine during air raids or artillery shelling threats. It monitors an official Telegram channel that publishes threat notifications and sends an immediate Slack notification upon detection of a threat. The notification includes crucial information about the nature and location of the threat, enabling colleagues to take appropriate measures quickly and efficiently.
In addition, the tool allows for the efficient coordination and communication of all colleagues located in the affected area during a crisis. It can also mention specific colleagues by the area in which they are located, enabling them to coordinate and communicate more efficiently with one another. Organizations with colleagues working in Ukraine, who may be at risk of exposure to the Russian-Ukrainian war, can benefit greatly from this project for free. By proactively managing risks and prioritizing their employees' well-being, organizations can leverage this tool to safeguard their employees' safety.
- Clone the Repository
- Install this Package (
./poetry install
) - Get Telegram API identifier and key
- Create a Slack icoming webhook
raid --help # Show help and exit
raid --version # Show version and exit
raid # Notify about threats in all areas
raid --locale en # Send notifications in English
# Mention specific colleagues by area. Prepare a CSV file with two columns:
# a 'member_id' and an area 'hashtag'. You can find area hashtags in a
# Telegram channel @air_alert_ua
raid --members ./members.csv
raid --ignore-without-mentions # Skip notifications without mentions
π To use the Telegram API, you will need to register your application and obtain API ID and API key. To do this, follow these steps:
- Go to the Telegram API website and log in using your Telegram account
- Click on the "Create a new application" button and fill in the required details, including the name and description of your application
- Once you have registered your app, you will be provided with an API key and an API identifier. Keep these credentials safe, as you will need them to use the tool
ππ That's it! Now you have Telegram API identifier and key.
π To create a new webhook integration in Slack, you will need to be a member of the workspace and have administrative access. Here's how to create a new webhook integration:
- Go to your Slack workspace and click on the gear icon to access the settings
- Click on "Add apps" and search for "Incoming Webhooks" in the search bar
- Click on "Add to Slack" and choose the channel you want the webhook to post messages to
- Click on "Authorize" to authorize the integration
Once you have created the webhook, you will need to configure it by setting the default username and icon, and customizing any other settings you want. Here's how to configure the webhook:
- Click on the "Webhooks" section in the integration settings and copy the webhook URL
- Choose a default username and icon for your webhook messages
- Customize any other settings you want, such as message formatting or notification preferences
ππ That's it! Now you have a webhook integration in Slack.
π To find a Slack member ID, you can use one of the following methods:
π Use the Slack API. If you have access to the Slack API:
- Go to the Slack API documentation and find the
users.list
method - Click on the "Test Method" button to try out the method. Authenticate with your Slack account and workspace. Once authenticated, the API will return a list of users in your workspace along with their user IDs
π Use the Slack web app. If you don't have access to the Slack API:
- Go to your Slack workspace and open the member's profile page
- Click on the three dots in the upper-right corner of the profile page and select "Copy member ID" from the dropdown menu. The member ID will be copied to your clipboard, and you can paste it wherever you need it
ππ That's it! With these methods, you should be able to find a Slack member ID quickly and easily.
π Data is taken from a Telegram channel @air_alert_ua.
ππ First off, thanks for taking the time to contribute! ππ
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/awesome-feature
) - Commit your Changes (
git commit -m 'Add awesome feature'
) - Push to the Branch (
git push origin feature/awesome-feature
) - Open a Pull Request
Leave a β if you think this project is cool or useful for you.
raid
is licenced under the MIT License. See the LICENSE
for more information.