Compare commits

..

1 Commits

Author SHA1 Message Date
jaandrle f33b0fa3c2 🎉 2024-06-28 13:46:26 +02:00
5 changed files with 544 additions and 719 deletions
+3 -3
View File
@@ -1,8 +1,8 @@
name: Collect month data name: Update RSS
on: on:
workflow_dispatch: workflow_dispatch:
schedule: schedule:
- cron: '0 12 1 * *' # At 12:00 Prague on the first day of the month - cron: '39 19 * * *' # daily at 19:39 Prague
jobs: jobs:
update-rss: update-rss:
@@ -14,4 +14,4 @@ jobs:
node-version: lts/* node-version: lts/*
cache: 'npm' cache: 'npm'
- run: npm ci - run: npm ci
- run: npx nodejsscript mastodonCzStats.js --git - run: npx nodejsscript cli.mjs pull --git
+5 -19
View File
@@ -9,7 +9,7 @@ $.api("", true)
.version(version) .version(version)
.describe(description) .describe(description)
.option("--git", "Commit changes to git") .option("--git", "Commit changes to git")
.action(async function main({ git: is_git }){ .action(async function main(){
let stats= []; let stats= [];
for(const instance of instances_cz_pre){ for(const instance of instances_cz_pre){
echo.use("-R", "Shromažďuji instance: " + instance); echo.use("-R", "Shromažďuji instance: " + instance);
@@ -28,30 +28,16 @@ $.api("", true)
instances_cz: stats.sort((a, b)=> b.registrations-a.registrations), instances_cz: stats.sort((a, b)=> b.registrations-a.registrations),
sum: stats.reduce((acc, stats) => sumStats([acc, stats]), { statuses: 0, logins: 0, registrations: 0, mau: 0, user_count: 0 }) sum: stats.reduce((acc, stats) => sumStats([acc, stats]), { statuses: 0, logins: 0, registrations: 0, mau: 0, user_count: 0 })
}; };
if(is_git) s.run`git pull --rebase`; echo(JSON.stringify(out, null, " ")).to("./mastodonCzStats.json");
echo(JSON.stringify(out, null, " ")).to(store);
if(is_git) gitCommit([ store ], "cron");
$.exit(0); $.exit(0);
}) })
.parse(); .parse();
function gitCommit(files, des= "not specified"){
if(!files.length || !s.run`git diff --numstat`.trim())
return echo("Nothig todo");
echo("Diff to save");
s.run`git config user.name "Bot"`;
s.run`git config user.email "${"zc.murtnec@naj.elrdna".split("").reverse().join("")}"`;
s.run`git add ${files}`;
s.run`git commit -m "Updated by bot ${des}"`;
s.run`git push`;
s.run`git config --remove-section user`;
}
async function* collectStats(instances, weeks = 1) { async function* collectStats(instances, weeks = 1) {
for(const instance of instances){ for(const instance of instances){
const { stats, mau, user_count }= await fetchInstanceStats(instance).catch(_=> ({})); const { stats, mau, user_count }= await fetchInstanceStats(instance).catch(e=> ({}));
if(!stats || !Array.isArray(stats) || !stats.length) continue; if(!stats || !Array.isArray(stats)) continue;
yield { instance, mau, user_count, ...sumStats(stats.slice(0, Math.min(stats.length, weeks + 1))) }; yield { instance, mau, user_count, ...sumStats(stats.slice(0, weeks + 1)) };
} }
} }
function sumStats(arr) { function sumStats(arr) {
+312 -195
View File
@@ -1,208 +1,343 @@
{ {
"instances_cz": [ "instances_cz": [
{
"instance": "f.cz",
"mau": 88,
"user_count": 204,
"week": 8908326935,
"statuses": 2084,
"logins": 239,
"registrations": 26
},
{
"instance": "mamutovo.cz",
"mau": 120,
"user_count": 153,
"week": 8908233810,
"statuses": 7311,
"logins": 461,
"registrations": 17
},
{ {
"instance": "mastodonczech.cz", "instance": "mastodonczech.cz",
"mau": 542, "mau": 741,
"user_count": 5654, "user_count": 5300,
"week": 8908353065, "week": 8579960795,
"statuses": 9924, "statuses": 10560,
"logins": 1605, "logins": 2059,
"registrations": 1 "registrations": 12
},
{
"instance": "mastodon.pirati.cz",
"mau": 21,
"user_count": 398,
"week": 8908241370,
"statuses": 37,
"logins": 58,
"registrations": 1
}, },
{ {
"instance": "witter.cz", "instance": "witter.cz",
"mau": 227, "mau": 260,
"user_count": 1781, "user_count": 1482,
"week": 8908214745, "week": 8579976030,
"statuses": 1909, "statuses": 2624,
"logins": 747, "logins": 705,
"registrations": 0 "registrations": 10
}, },
{ {
"instance": "cztwitter.cz", "instance": "f.cz",
"mau": 61, "mau": 46,
"user_count": 794, "user_count": 119,
"week": 8908439200, "week": 8579983760,
"statuses": 635, "statuses": 894,
"logins": 160, "logins": 142,
"registrations": 0 "registrations": 3
}, },
{ {
"instance": "boskovice.social", "instance": "mastodon.arch-linux.cz",
"mau": 10, "mau": 178,
"user_count": 32, "user_count": 2987,
"week": 8908083635, "week": 8579851790,
"statuses": 195, "statuses": 6207,
"logins": 39, "logins": 498,
"registrations": 0 "registrations": 2
}, },
{ {
"instance": "hippy.cz", "instance": "mastodon.pirati.cz",
"mau": 2, "mau": 36,
"user_count": 3, "user_count": 379,
"week": 8908335035, "week": 8580233190,
"statuses": 106, "statuses": 97,
"logins": 9, "logins": 103,
"registrations": 0 "registrations": 1
}, },
{ {
"instance": "toot.whatever.cz", "instance": "toot.whatever.cz",
"mau": 7, "mau": 5,
"user_count": 65, "user_count": 55,
"week": 8908489765, "week": 8580260155,
"statuses": 210, "statuses": 33,
"logins": 22, "logins": 16,
"registrations": 0 "registrations": 1
},
{
"instance": "vaclavpasek.cz",
"mau": 1,
"user_count": 1,
"week": 8908149205,
"statuses": 108,
"logins": 5,
"registrations": 0
},
{
"instance": "space.robozor.cz",
"mau": 1,
"user_count": 1,
"week": 8908078505,
"statuses": 35,
"logins": 4,
"registrations": 0
}, },
{ {
"instance": "kompost.cz", "instance": "kompost.cz",
"mau": 11, "mau": 11,
"user_count": 34, "user_count": 33,
"week": 8908188835, "week": 8580261425,
"statuses": 184, "statuses": 214,
"logins": 47, "logins": 43,
"registrations": 1
},
{
"instance": "mamutovo.cz",
"mau": 7,
"user_count": 10,
"week": 8579983910,
"statuses": 422,
"logins": 21,
"registrations": 1
},
{
"instance": "nasface.cz",
"mau": 12,
"user_count": 1387,
"week": 8579868095,
"statuses": 0,
"logins": 17,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "mutant.cz", "instance": "cztwitter.cz",
"mau": 1, "mau": 131,
"user_count": 3, "user_count": 766,
"week": 8908385455, "week": 8580176805,
"statuses": 1, "statuses": 1578,
"logins": 4, "logins": 368,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "spondr.cz", "instance": "gomastodon.cz",
"mau": 3, "mau": 2,
"user_count": 4, "user_count": 240,
"week": 8908128445, "week": 8580124535,
"statuses": 80, "statuses": 0,
"logins": 13, "logins": 1,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "mastodon.macsnet.cz", "instance": "mastodon.macsnet.cz",
"mau": 2, "mau": 3,
"user_count": 51, "user_count": 52,
"week": 8908320985, "week": 8580040610,
"statuses": 81, "statuses": 136,
"logins": 5, "logins": 12,
"registrations": 0
},
{
"instance": "lgbtcz.social",
"mau": 6,
"user_count": 44,
"week": 8579846185,
"statuses": 4,
"logins": 19,
"registrations": 0
},
{
"instance": "boskovice.social",
"mau": 9,
"user_count": 26,
"week": 8580066670,
"statuses": 129,
"logins": 36,
"registrations": 0
},
{
"instance": "mastodon.1984.cz",
"mau": 3,
"user_count": 20,
"week": 8579954685,
"statuses": 0,
"logins": 11,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "mastodon.rozhlas.cz", "instance": "mastodon.rozhlas.cz",
"mau": 5,
"user_count": 18,
"week": 8580242605,
"statuses": 269,
"logins": 18,
"registrations": 0
},
{
"instance": "fediverse.cz",
"mau": 2, "mau": 2,
"user_count": 18, "user_count": 18,
"week": 8908330570, "week": 8579869890,
"statuses": 514, "statuses": 0,
"logins": 4, "logins": 5,
"registrations": 0
},
{
"instance": "mastodon.urbancloud.cz",
"mau": 11,
"user_count": 16,
"week": 8579982050,
"statuses": 14,
"logins": 32,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "kocour.club", "instance": "kocour.club",
"mau": 8, "mau": 9,
"user_count": 15, "user_count": 14,
"week": 8908331795, "week": 8579926635,
"statuses": 29, "statuses": 27,
"logins": 30, "logins": 39,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "ajtaci.club", "instance": "ajtaci.club",
"mau": 1, "mau": 1,
"user_count": 9, "user_count": 9,
"week": 8908429015, "week": 8579844105,
"statuses": 4,
"logins": 5,
"registrations": 0
},
{
"instance": "mastodon.darksheep.social",
"mau": 0,
"user_count": 11,
"week": 8580159440,
"statuses": 0, "statuses": 0,
"logins": 4, "logins": 0,
"registrations": 0
},
{
"instance": "social.filik.eu",
"mau": 4,
"user_count": 7,
"week": 8580201360,
"statuses": 12,
"logins": 13,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "social.meyer.cz", "instance": "social.meyer.cz",
"mau": 2, "mau": 4,
"user_count": 10, "user_count": 9,
"week": 8908432055, "week": 8579926085,
"statuses": 1, "statuses": 125,
"logins": 7, "logins": 16,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "mastodon.starnet.cz", "instance": "mastodon.starnet.cz",
"mau": 1, "mau": 2,
"user_count": 7, "user_count": 7,
"week": 8908449045, "week": 8579859190,
"statuses": 10,
"logins": 6,
"registrations": 0
},
{
"instance": "blogator.com",
"mau": 0,
"user_count": 5,
"week": 8579917765,
"statuses": 0, "statuses": 0,
"logins": 5, "logins": 0,
"registrations": 0
},
{
"instance": "hatedon.1984.cz",
"mau": 1,
"user_count": 6,
"week": 8498617695,
"statuses": 11,
"logins": 4,
"registrations": 0
},
{
"instance": "mastodon.loutaci.cz",
"mau": 0,
"user_count": 7,
"week": 8580272895,
"statuses": 0,
"logins": 1,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "mastodon.skorpil.cz", "instance": "mastodon.skorpil.cz",
"mau": 3, "mau": 3,
"user_count": 3, "user_count": 3,
"week": 8908489775, "week": 8579901010,
"statuses": 54, "statuses": 22,
"logins": 13, "logins": 12,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "mastodon.hinata.cz", "instance": "mastodon.hinata.cz",
"mau": 1, "mau": 1,
"user_count": 3, "user_count": 3,
"week": 8908171535, "week": 8580250055,
"statuses": 0, "statuses": 0,
"logins": 5, "logins": 4,
"registrations": 0
},
{
"instance": "social.toxwat.cz",
"mau": 2,
"user_count": 4,
"week": 8580186065,
"statuses": 0,
"logins": 2,
"registrations": 0
},
{
"instance": "spondr.cz",
"mau": 3,
"user_count": 3,
"week": 8579861675,
"statuses": 217,
"logins": 15,
"registrations": 0
},
{
"instance": "hlidacstatu.social",
"mau": 1,
"user_count": 3,
"week": 8580261595,
"statuses": 1,
"logins": 4,
"registrations": 0
},
{
"instance": "mastodon.train.cz",
"mau": 1,
"user_count": 2,
"week": 8579852440,
"statuses": 0,
"logins": 4,
"registrations": 0 "registrations": 0
}, },
{ {
"instance": "social.bobek.cz", "instance": "social.bobek.cz",
"mau": 1, "mau": 1,
"user_count": 2, "user_count": 2,
"week": 8908489780, "week": 8579922885,
"statuses": 0,
"logins": 5,
"registrations": 0
},
{
"instance": "social.blep.cz",
"mau": 1,
"user_count": 2,
"week": 8579976085,
"statuses": 0,
"logins": 4,
"registrations": 0
},
{
"instance": "mastodon.haxo.cz",
"mau": 0,
"user_count": 2,
"week": 8580272925,
"statuses": 0,
"logins": 0,
"registrations": 0
},
{
"instance": "mutant.cz",
"mau": 1,
"user_count": 2,
"week": 8580107325,
"statuses": 5,
"logins": 4,
"registrations": 0
},
{
"instance": "mastodon.gmb.cz",
"mau": 1,
"user_count": 1,
"week": 8580144695,
"statuses": 0, "statuses": 0,
"logins": 4, "logins": 4,
"registrations": 0 "registrations": 0
@@ -211,17 +346,53 @@
"instance": "rodina-sucha.cz", "instance": "rodina-sucha.cz",
"mau": 1, "mau": 1,
"user_count": 1, "user_count": 1,
"week": 8908330025, "week": 8580244660,
"statuses": 46, "statuses": 85,
"logins": 5,
"registrations": 0
},
{
"instance": "social.taborsky.cz",
"mau": 1,
"user_count": 1,
"week": 8580259410,
"statuses": 2,
"logins": 4, "logins": 4,
"registrations": 0 "registrations": 0
}, },
{
"instance": "cynikobecny.cz",
"mau": 2,
"user_count": 2,
"week": 8579852145,
"statuses": 50,
"logins": 2,
"registrations": 0
},
{ {
"instance": "mastodon.morwud.cz", "instance": "mastodon.morwud.cz",
"mau": 1, "mau": 1,
"user_count": 1, "user_count": 1,
"week": 8908093530, "week": 8580096015,
"statuses": 9, "statuses": 5,
"logins": 4,
"registrations": 0
},
{
"instance": "mastodon.ok1bt.cz",
"mau": 0,
"user_count": 7,
"week": 8579952040,
"statuses": 0,
"logins": 0,
"registrations": 0
},
{
"instance": "torsten.cz",
"mau": 1,
"user_count": 4,
"week": 8580264110,
"statuses": 13,
"logins": 5, "logins": 5,
"registrations": 0 "registrations": 0
}, },
@@ -229,35 +400,8 @@
"instance": "mastodon.zs-studanka.cz", "instance": "mastodon.zs-studanka.cz",
"mau": 1, "mau": 1,
"user_count": 1, "user_count": 1,
"week": 8908489780, "week": 8579992375,
"statuses": 30, "statuses": 10,
"logins": 4,
"registrations": 0
},
{
"instance": "social.jirutka.cz",
"mau": 1,
"user_count": 2,
"week": 8908411615,
"statuses": 0,
"logins": 1,
"registrations": 0
},
{
"instance": "mastodon.1984.cz",
"mau": 2,
"user_count": 21,
"week": 8908369835,
"statuses": 18,
"logins": 8,
"registrations": 0
},
{
"instance": "mastodon.macadmin.cz",
"mau": 1,
"user_count": 1,
"week": 8908443645,
"statuses": 0,
"logins": 4, "logins": 4,
"registrations": 0 "registrations": 0
}, },
@@ -265,44 +409,17 @@
"instance": "social.vojtat.cz", "instance": "social.vojtat.cz",
"mau": 1, "mau": 1,
"user_count": 1, "user_count": 1,
"week": 8908177650, "week": 8580261025,
"statuses": 0,
"logins": 1,
"registrations": 0
},
{
"instance": "torsten.cz",
"mau": 1,
"user_count": 7,
"week": 8908290430,
"statuses": 0, "statuses": 0,
"logins": 4, "logins": 4,
"registrations": 0 "registrations": 0
},
{
"instance": "kirtapos.cz",
"mau": 0,
"user_count": 1,
"week": 8908477925,
"statuses": 0,
"logins": 0,
"registrations": 0
},
{
"instance": "onqasarch.cz",
"mau": 2,
"user_count": 2,
"week": 8908272360,
"statuses": 7,
"logins": 7,
"registrations": 0
} }
], ],
"sum": { "sum": {
"statuses": 23608, "statuses": 23780,
"logins": 3528, "logins": 4276,
"registrations": 45, "registrations": 31,
"mau": 1127, "mau": 1512,
"user_count": 9283 "user_count": 13072
} }
} }
+221 -499
View File
File diff suppressed because it is too large Load Diff
+3 -3
View File
@@ -1,6 +1,6 @@
{ {
"name": "mastodon-cz-stats", "name": "mastodon-cz-stats",
"version": "1.0.2", "version": "1.0.0",
"description": "Experimentální skript k získání českých Mastodon instancí a dodatečných informací.", "description": "Experimentální skript k získání českých Mastodon instancí a dodatečných informací.",
"bin": "mastodonCzStats.js", "bin": "mastodonCzStats.js",
"scripts": { "scripts": {
@@ -16,8 +16,8 @@
"url": "https://gitea.jaandrle.cz/jaandrle/mastodonCzStats/issues" "url": "https://gitea.jaandrle.cz/jaandrle/mastodonCzStats/issues"
}, },
"license": "MIT", "license": "MIT",
"peerDependencies": { "dependencies": {
"nodejsscript": "^1.1.1" "nodejsscript": "~1.0"
}, },
"engines": { "engines": {
"node": ">=18.19" "node": ">=18.19"