{"id":26158192,"url":"https://github.com/papermtn/talkback-messenger","last_synced_at":"2025-10-25T15:09:51.180Z","repository":{"id":276320865,"uuid":"917872776","full_name":"PaperMtn/talkback-messenger","owner":"PaperMtn","description":"Talkback Messenger is an application that finds the InfoSec content you're interested in from talkback.sh, and posts it to Slack in a digestible format.","archived":false,"fork":false,"pushed_at":"2025-02-25T20:32:31.000Z","size":2133,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-27T23:07:18.053Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PaperMtn.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["PaperMtn"]}},"created_at":"2025-01-16T20:00:50.000Z","updated_at":"2025-02-25T20:32:08.000Z","dependencies_parsed_at":null,"dependency_job_id":"dfc3d169-2234-45de-806f-64e6fcc3b37b","html_url":"https://github.com/PaperMtn/talkback-messenger","commit_stats":null,"previous_names":["papermtn/talkback-messenger"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaperMtn%2Ftalkback-messenger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaperMtn%2Ftalkback-messenger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaperMtn%2Ftalkback-messenger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PaperMtn%2Ftalkback-messenger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PaperMtn","download_url":"https://codeload.github.com/PaperMtn/talkback-messenger/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248530608,"owners_count":21119601,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-03-11T10:38:34.669Z","updated_at":"2025-10-25T15:09:51.129Z","avatar_url":"https://github.com/PaperMtn.png","language":"Python","funding_links":["https://github.com/sponsors/PaperMtn"],"categories":[],"sub_categories":[],"readme":"# Talkback Messenger\n![Python 2.7 and 3 compatible](https://img.shields.io/pypi/pyversions/talkback-messenger)\n![PyPI version](https://img.shields.io/pypi/v/talkback-messenger.svg)\n![License: MIT](https://img.shields.io/pypi/l/talkback-messenger.svg)\n\nTalkback Messenger is an application that finds the InfoSec content you're interested in from [talkback.sh](https://talkback.sh/), and posts it to Slack in a digestible format.\n\n\u003cimg src=\"/images/slack_message.png\" width=\"600\"\u003e\n\nThe app can be scheduled to run looking for content from the past 1 to 24 hours, and has a Docker container available for scheduling execution. This means you can run it regularly to give you a constant feed of content.\n\n\u003e [!Note]\n\u003e Talkback Messenger is currently in beta. If you use it and find any bugs, please [open an issue](https://github.com/PaperMtn/talkback-messenger/issues)\n\n# Contents\n\n- [About Talkback](#about-talkback)\n- [How it works](#how-it-works)\n- [Requirements](#requirements)\n  - [Slack App](#slack-app-with-bot-token)\n  - [Talkback API](#talkback-api-token)\n  - [Configuration File](#configuration-file)\n- [Installation](#installation)\n- [Usage](#usage)\n  - [Docker/Containerised](#dockercontainerised)\n- [Future additions](#future-additions)\n\n## About Talkback\n\nTalkback is a project developed by [Elttam](https://www.elttam.com/) to help the community be more efficient and effective at keeping up with cyber-security content.\n\nIt aggregates InfoSec resources from a number of sources and enriches them with metadata, including AI summaries and categorisation.\n\nYou can find out more information about Talkback via blog posts and conference talks at [Elttam's website](https://www.elttam.com/blog/talkback-intro/)\n\n## How it works\n\nTalkback Messenger uses the [Talkback API](https://talkback.sh/api/) to collect content, and then enriches this with information that isn't available using the API by scraping the resource webpage.\n\nUsing the concept of subscriptions, Talkback Messenger is able to find resources that are relevant to you. These resources, if they meet the criteria you've set in your subscription, are then posted the Slack users/channels of your choice.\n\nThe messages contain a digestible summary of the content, leveraging Talkback's AI summarisation and categorisation, as well as links to the original resource.\n\n## Requirements\n### Slack App with Bot Token\nYou will need to create a Slack App and Bot Token to use with Talkback Messenger. You can find instructions on how to do this [here](https://api.slack.com/authentication/basics).\n\nYour app will require the following scopes:\n```\n\"chat:write\",\n\"chat:write.public\",\n\"links:write\",\n\"im:write\",\n\"users:read\",\n\"users:read.email\"\n```\n\nI've included an app manifest file that you can use to create your app in the directory [docs/slack/app_manifest.json](docs/slack/app_manifest.json). There is also an [app icon](./images/talkback_icon.png) you can use.\n\nOnce you've installed your Slack app, generate and safely store your bot token.\n\nPass the token to Talkback Messenger using the `SLACK_API_TOKEN` environment variable.\n\n\u003e [!Note]\n\u003e To post to private Slack channels, you will need to first add the bot to the channel.\n\n### Talkback Email and Password\nYou will also need to pass the email and password of your Talkback account to Talkback Messenger, which are used to generate a token at runtime. This can be done using the `TALKBACK_EMAIL` and `TALKBACK_PASSWORD` environment variables.\n\n\u003e [!Note]\n\u003e You can generate API tokens via the Talkback interface, but these expire after 7 days, with no programmatic way of refreshing them. To work around this, Elttam have added the ability to generate a token using your email and password.\n\n### Configuration File\nLastly, you will need to generate a `talkback.yml` configuration file. This file defines what content you want to collect from Talkback, and where you want to post it. In-depth instructions on how to create this file can be found [here](./docs/talkback_conf).\n\nAn example configuration has also been included in the directory [docs/talkback_conf](docs/talkback_conf/example_talkback.yml).\n## Installation\nTalkback Messanger can be installed via pipx from PyPi:\n\n```bash\npipx install talkback-messanger\n```\n\nThere is also a Docker container available on DockerHub:\n\n```bash\ndocker pull papermtn/talkback-messenger\n```\n\n## Usage\n\nRemember to load the required environment variables:\n- `SLACK_API_TOKEN`\n- `TALKBACK_EMAIL`\n- `TALKBACK_PASSWORD`\n\nTalkback Messenger can be run from the command line with the following options:\n```bash\nusage: talkback-messenger [-h] [-v] [--config CONFIG] --timeframe {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24} [--debug]\n\nTalkback Messenger\n\noptions:\n  -h, --help            show this help message and exit\n  -v, --version         show programs version number and exit\n  --config CONFIG       Path to the configuration file. Do not use if you are running in a container and have mounted the config file\n  --timeframe {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24}\n                        How many hours back to search (1-24)\n  --debug, -d           Turn on debug level logging\n```\n\nExample:\n```bash\ntalkback-messenger --config /path/to/talkback.yml --timeframe 1\n```\n\n### Docker/Containerised\nTalkback Messanger has been designed to also run in a container, meaning you can schedule it to run at regular intervals to keep you up to date with the latest content.\n\nYou will need to pass the configuration file to the container by mounting it as a volume. Talkback Messenger will look for the configuration file at `/etc/talkback-messenger/talkback.yml`.\n\nTo run the Docker container, you can use the following command:\n```bash\ndocker run -v /path/to/talkback.yml:/etc/talkback-messenger/talkback.yml papermtn/talkback-messenger --timeframe 1\n```\n\n\u003e [!Important]\n\u003e The config file must be mounted in the following path: `/etc/talkback-messenger/talkback.yml`\n\u003e \n\u003e The `--config` option is not required if you are running the container and have mounted the configuration file.\n\u003e \n\u003e Make sure you pass the required environment variables to the container in a secure manner:\n\u003e - `SLACK_API_TOKEN`\n\u003e - `TALKBACK_EMAIL`\n\u003e - `TALKBACK_PASSWORD`\n\n## Future additions\nTalkback Messenger is a work in progress, and currently in pre-release.\n\nPossible future additions to the app include: \n- [x] Add the ability to post to multiple channels\n- [x] Add posting to individual users via DM from the bot\n- [x] Add channels and users as destinations for specific subscriptions\n- [ ] Add integration with Microsoft Teams\n\nIf you have any suggestions or feature requests, please feel free to open an issue.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapermtn%2Ftalkback-messenger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpapermtn%2Ftalkback-messenger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpapermtn%2Ftalkback-messenger/lists"}