labs@atheron:~/work/community-bots$ cat community-bots.md
Les bots communautaires
Un service, trois tâches.
Modération, vérification, rôles, dossiers et appels pour un serveur Discord et un groupe Telegram, à partir d’un seul jeu de règles. Le même service est en cours de branchement pour publier nos annonces et recevoir les demandes de soutien, parce que Discord ne laisse qu’un seul processus tenir la connexion d’un bot et Telegram ne permet qu’un seul webhook.
// ce que ça fait
- Gère serveurs et groupes : modération automatique, vérification, rôles, dossiers et appels.
- Repère les arnaques, l’usurpation et les noms imitateurs, et place un captcha à l’entrée.
- Traite un raid comme un événement : les modérateurs sont avertis, chaque arrivée passe un captcha, et tout se termine de soi-même.
- Tient la réputation, les points et un catalogue de récompenses, formulés de la même façon dans les deux salons.
- Est en cours de branchement pour publier nos annonces dans les deux salons, chacune approuvée d’abord par une personne dans le portail d’équipe.
- Est en cours de branchement pour recevoir les demandes de soutien : un message dans le canal de soutien ouvrira un fil, et une commande un fil privé.
- Se gère depuis le portail d’équipe : un modérateur peut tout ce que les bots peuvent.
// comment nous l’avons bâti
- Aucun cadre de bot : le client de la passerelle Discord et les appels à l’API Telegram sont les nôtres, alors un changement de plateforme nous revient.
- Un seul noyau commun tient les règles : les deux plateformes ne divergent jamais sur ce qui est permis.
- Une seule porte d’entrée, parce que les plateformes n’en permettent qu’une : modération, publication et réception du soutien ont toutes leur place dans ce seul service, et les demandes de soutien sont transmises à notre produit de clavardage par un appel interne.
- Les permissions sont accordées canal par canal plutôt qu’à l’échelle du serveur, et chaque tâche utilise son propre secret dérivé pour cet appel interne.
- Des tests sur propriétés pour les règles de modération : une entrée à laquelle personne n’a pensé est quand même essayée.
- Les bots se connectent à la base avec leur propre identifiant et ne peuvent atteindre ni la paie ni les candidatures.
- La réputation d’un membre est demandée au portail : il n’y a qu’une seule définition du score.
// son ampleur
- tâches
- Trois dans un seul service : la modération, en marche; nos annonces et la réception du soutien, en cours de branchement
- plateformes
- Discord et Telegram, à partir d’un seul noyau
- fichiers de test
- Plus de 60, avec des tests sur propriétés pour les règles
- cadres
- Aucun : le client de passerelle et les appels d’API sont les nôtres
- gérés depuis
- Le portail d’équipe, avec les mêmes actions que les bots
// technologies
- TypeScript
- Node.js
- Passerelle Discord
- Telegram Bot API
- PostgreSQL
- fast-check
// où ça en est
En marche dans notre propre serveur et notre propre groupe, avec les actions de modération écrites dans un journal que la communauté peut lire, et nos annonces publiées par leur entremise. La réception des demandes d’assistance est en cours de branchement.
// un projet comparable
- Réalisation
- ≈ 30 300 USD à 46 400 USD, en 10 semaines au plus43 200 $ CA à 66 100 $ CA
- Hébergement
- ≈ 176 USD par mois250 $ CA par mois
- Soutien
- ≈ 2 500 USD par mois3 565 $ CA par mois
Les prix dans votre devise sont des estimations au taux du jour de la Banque du Canada. Toute la facturation se fait en CAD ou en USD.
l’effort qu’il demande
- Développement
- 251 à 384 h
- Développeur dorsal principal
- 26 à 40 h
- Ingénieur principal
- 24 à 37 h
- Développeur dorsal
- 22 à 34 h
- Développeur frontal
- 20 à 30 h
- En tout
- 457 à 698 h
ce que ce prix couvre
Un seul service en un seul projet : le noyau de modération commun, les deux clients de plateforme, la file de publication, la réception du soutien, les parcours de vérification et d’appel, et les écrans du portail d’où il est géré.
Une estimation pour un projet comme celui-ci, calculée à partir de notre grille pendant que vous lisez. Ce n’est pas une offre de prix. La vôtre change avec votre portée, et nous en rédigeons une vraie après un appel.
Ouvrir dans l’estimateur →// les autres
Les autres projets.
// démarrer
Envie du même genre?
La même équipe, les mêmes tests, le même soin. Dites-nous ce qu’il vous faut, ou chiffrez-le vous-même d’abord.