Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/boly38/botensky
botEnTrain's successor for BlueSky social app
https://github.com/boly38/botensky
bluesky-bot bot nodejs work-in-progress
Last synced: about 1 month ago
JSON representation
botEnTrain's successor for BlueSky social app
- Host: GitHub
- URL: https://github.com/boly38/botensky
- Owner: boly38
- License: mit
- Created: 2024-05-16T18:53:14.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-05-23T07:01:24.000Z (6 months ago)
- Last Synced: 2024-05-23T07:48:25.207Z (6 months ago)
- Topics: bluesky-bot, bot, nodejs, work-in-progress
- Homepage: https://bsky.app/profile/botensky.bsky.social
- Size: 108 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# botEnSky
👢 botEnSky is a [BlueSky social app](https://bsky.app/) 🤖 bot born on May 16, 2024.
- written in JavaScript (Node.js ESM Project),
- the worthy successor to [@botentrain1](https://twitter.com/botentrain1) (ex Twitter bot - [code](https://github.com/boly38/botEnTrain)) but for BlueSky.His ambition is to **bring 😊 happiness to 🦋 Bluesky 👤 users**.
## References
- **BlueSky 🤖 Bot account : [@botensky.bsky.social](https://bsky.app/profile/botensky.bsky.social)**
- Bot engine 🌐 WebPage : [botensky.onrender.com](https://botensky.onrender.com/)## Bot features (plugins)
- French help - cf. [botensky.onrender.com](https://botEnSky.onrender.com)
- English : cf. below.### Plugins
- 🧩 [Plantnet](src/plugins/Plantnet.js) plugin*search a post with an embedded image, a not muted author, and without reply using [some questions](src/data/questionsPlantnet.json) and use Pla@ntNet API to try to identify the flower.*
- on **good score** result: post a reply with confident ratio, name, common name, and embed sample image +alt (provided by Pl@ntNet)
- on **bad score** result, or **nothing detected** result: mute author and don't reply. The action to "mute" the author is to avoid to replay the same plantnet identification twice a day (for same result). Muted authors are unMuted by UnMute plugin at the end of the day.- 🧩 [askPlantnet](src/plugins/AskPlantnet.js) plugin
*search a post with one of [askPlantnet](src/data/askPlantnet.json) mention, and try to identify the parent post first image using the same previous logic except that bad score or nothing detected will produce a reply to the mention.*
- 🧩 [unMute](src/plugins/UnMute.js) plugin
*remove bot all muted authors.*
- 🧩 [Summary](src/plugins/Summary.js) plugin
*get some analytics for last 7 days of bot activity.*
- 🧩 [BioClip](src/plugins/BioClip.js) plugin
*search a post with an embedded image, a not muted author, and without reply using [some questions](src/data/questionsBioClip.json) and use [GrBird API](https://huggingface.co/spaces/3oly/grBird) to try to classify the bird.*
- on **good score** result: post a reply with confident ratio, species, genus, family, common name, and a link to flickr gallery (provided by [Avibase](https://avibase.bsc-eoc.org/))
- on **bad score** result, or **nothing detected** result: mute author and don't reply. The action to "mute" the author is to avoid to replay the same classification twice a day (for same result). Muted authors are unMuted by UnMute plugin at the end of the day.- 🧩 [askBioclip](src/plugins/AskBioclip.js) plugin
*search a post with one of [askBioclip](src/data/askBioclip.json) mention, and try to classify the parent post first image using the same previous logic except that bad score or nothing detected will produce a reply to the mention.*
### Bot trigger
- Github Actions [workflows](.github/workflows) (`trigger_*`) are used to trigger the bot, they are based on `schedule` directives (UTC time, [doc](https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#schedule))## How to contribute ?
- cf. [CONTRIBUTING](.github/CONTRIBUTING.md)
### Versions
- [releases notes](https://github.com/boly38/botEnSky/releases) - generated via `gren` [![Automated Release Notes by gren](https://img.shields.io/badge/%F0%9F%A4%96-release%20notes-00B2EE.svg)](https://github-tools.github.io/github-release-notes/)
- [tests - code-coverage](https://boly38.github.io/botEnSky/)### Credits
Application and code structure:
- [NodeJs](https://nodejs.org/) and Node dependencies (cf. [graph](https://github.com/boly38/botEnSky/network/dependencies))
- [BlueSky API](https://docs.bsky.app/)Services ( having free plan 🚀 🌷 )
- [GitHub Actions](https://github.com/features/actions)
- [Render](https://render.com/) free app hosting and automated deployments
- [PlantNet.org](https://plantnet.org) ([API](https://my.plantnet.org/)) - plant identification service (max 200 req/days)
- [BioCLIP](https://github.com/Imageomics/bioclip) ([GrBird API](https://huggingface.co/spaces/3oly/grBird)) - classification from BioCLIP : a CLIP model trained on a new 10M-image dataset of biological organisms with fine-grained taxonomic labels. (cf. [paper](https://arxiv.org/abs/2311.18803) for more details) - credits : Samuel Stevens, Jiaman Wu, Matthew J Thompson, Elizabeth G Campolongo, Chan Hee Song, David Edward Carlyn, Li Dong, Wasila M Dahdul, Charles Stewart, Tanya Berger-Wolf, Wei-Lun Chao, Yu Su.
- [betterstack](https://logs.betterstack.com/) - logs management
-Team:
- cf. [contributors](https://github.com/boly38/botEnSky/graphs/contributors)