This commit is contained in:
tree 2022-01-04 09:32:08 +01:00
rodič ee866eda8b
revize 4a49d68139
5 změnil soubory, kde provedl 65 přidání a 5 odebrání

1
.gitignore vendorováno
Zobrazit soubor

@ -1,3 +1,4 @@
.DS_Store
docs
dist
.env

Zobrazit soubor

@ -22,3 +22,6 @@ speakers-leads:
stats:
deno run --unstable --allow-read utils/stats.js
twitter:
deno run --unstable --allow-read --allow-env --allow-net utils/twitter.js

Zobrazit soubor

@ -109,7 +109,7 @@
- name: Tomáš
orgs: |
Člen [KryptoVláďa komunity](https://www.kryptovlada.win)
Člen [KryptoVláďa](https://www.kryptovlada.win) komunity
tracks: [ zaklady, eth, defi ]
- id: urza
@ -162,3 +162,9 @@
Člen [Bitcoinovej kanál](https://bitcoinovejkanal.cz/) komunity
tracks: [ zaklady, btc ]
- id: mirek-h
name: Mirek H
orgs: |
Člen [KryptoVláďa](https://www.kryptovlada.win) komunity
tracks: [ alty ]

Zobrazit soubor

@ -16,12 +16,12 @@ for (const sp of entry.specs.speakers) {
tracksCount[tr]++
}
}
const tracks = entry.specs.tracks.map(t => [t.id, '+'.repeat(tracksCount[t.id] || '0' ) ])
const tracks = entry.specs.tracks.map(t => [t.id, '|' + '+'.repeat(tracksCount[t.id] || '0' ) ])
const table = Table.from(tracks)
table.border(true)
//table.border(true)
console.log('\nRozložení jednotlivých tématických sekcí dle přednášejících:')
console.log(table.toString())
console.log('\nRozložení jednotlivých tématických sekcí dle přednášejících:\n' + '-'.repeat(60))
console.log(table.toString() + '\n')

50
utils/twitter.js Normal file
Zobrazit soubor

@ -0,0 +1,50 @@
import { config } from "https://deno.land/x/dotenv/mod.ts"
import SimpleTwitter from "https://deno.land/x/simple_twitter_deno@0.05/simple_twitter_deno.ts"
import { Table } from "https://deno.land/x/cliffy@v0.20.1/table/mod.ts"
import { UTXOEngine } from './engine.js'
const utxo = new UTXOEngine({ silent: true })
await utxo.init()
config({ path: ".env", export: true })
const simple_twitter = new SimpleTwitter({
consumer_key: Deno.env.get("CONSUMER_KEY"),
consumer_secret: Deno.env.get("CONSUMER_SECRET"),
access_token: Deno.env.get("ACCESS_TOKEN"),
access_token_secret: Deno.env.get("ACCESS_TOKEN_SECRET"),
bearer_token: Deno.env.get("BEARER_TOKEN")
})
const entryId = '22'
const entry = utxo.entries[entryId]
const arr = []
let total = 0
for (const sp of entry.specs.speakers) {
if (!sp.twitter) {
continue
}
const tw = await twitterUser(sp.twitter)
if (!tw) {
continue
}
arr.push([ tw.screen_name, tw.followers_count ])
total += tw.followers_count
}
arr.push([])
arr.push([ 'total', total ])
const table = Table.from(arr)
console.log('\nTwitter followers count:\n\n' + table.toString() + '\n')
async function twitterUser(screen_name) {
const resp = await simple_twitter.get("users/lookup", { screen_name })
if (resp.length === 1) {
return resp[0]
}
return null
}