Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nibalizer/flicktini
Discord bot to mediate a drinking game while playing Counter Strike: Global Offensive (csgo)
https://github.com/nibalizer/flicktini
counterstrike csgo discord fun
Last synced: 5 days ago
JSON representation
Discord bot to mediate a drinking game while playing Counter Strike: Global Offensive (csgo)
- Host: GitHub
- URL: https://github.com/nibalizer/flicktini
- Owner: nibalizer
- License: apache-2.0
- Created: 2020-04-16T00:08:04.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T02:10:46.000Z (almost 2 years ago)
- Last Synced: 2024-10-26T20:16:13.089Z (about 2 months ago)
- Topics: counterstrike, csgo, discord, fun
- Language: HTML
- Size: 1.84 MB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# flicktini
> NOTE: this is highly beta and will probably set your computer on fire
A discord bot that gives out drinking instructions based on the status of a csgo game
## Setup
On your csgo computer, put the following `game state integration` file into place:
Docs on where this file goes are [here](https://github.com/nibalizer/csgo_documentation/blob/master/README.md#game-state-integration). Docs on what this file does are [here](https://developer.valvesoftware.com/wiki/Counter-Strike:_Global_Offensive_Game_State_Integration).
```
"Observer All Players v.1"
{
"uri" "http://:4500"
"timeout" "5.0"
"buffer" "0.1"
"throttle" "0.1"
"heartbeat" "30.0"
"auth"
{
"token" "REDACTED"
}
"data"
{
"provider" "1" // general info about client being listened to: game name, appid, client steamid, etc.
"map" "1" // map, gamemode, and current match phase ('warmup', 'intermission', 'gameover', 'live') and current score
"round" "1" // round phase ('freezetime', 'over', 'live'), bomb state ('planted', 'exploded', 'defused'), and round winner (if any)
"player_id" "1" // player name, clan tag, observer slot (ie key to press to observe this player) and team
"player_state" "1" // player state for this current round such as health, armor, kills this round, etc.
"player_weapons" "1" // output equipped weapons.
"player_match_stats" "1" // player stats this match such as kill, assists, score, deaths and MVPs
"allplayers_id" "1" // Same as 'player_id' but for all players. 'allplayers' versions are only valid for HLTV and observers
"player_state" "1"
"allplayers_state" "1"
"allplayers_match_stats" "1"
"allplayers_weapons" "1"
"allplayers_position" "1" // output the player world positions, only valid for HLTV or spectators.
"phase_countdowns" "1" // countdowns of each second remaining for game phases, eg round time left, time until bomb explode, freezetime. Only valid for HLTV or spectators.
"allgrenades" "1" // output information about all grenades and inferno flames in the world, only valid for GOTV or spectators.
}
}
```## App
```
npm install
npm start
```## Example csgo payload
```
{
provider: {
name: 'Counter-Strike: Global Offensive',
appid: 730,
version: 13747,
steamid: '',
timestamp: 1580000032
},
map: {
mode: 'casual',
name: 'de_cache',
phase: 'live',
round: 5,
team_ct: {
score: 4,
consecutive_round_losses: 0,
timeouts_remaining: 1,
matches_won_this_series: 0
},
team_t: {
score: 1,
name: '[xirv]',
consecutive_round_losses: 2,
timeouts_remaining: 1,
matches_won_this_series: 0
},
num_matches_to_win_series: 0,
current_spectators: 0,
souvenirs_total: 0
},
round: { phase: 'live' },
player: {
steamid: '',
clan: '[xirv]',
name: 'CSGO Player 3',
observer_slot: 6,
team: 'T',
activity: 'playing',
state: {
health: 100,
armor: 100,
helmet: true,
flashed: 0,
smoked: 0,
burning: 0,
money: 7300,
round_kills: 0,
round_killhs: 0,
equip_value: 3900
},
weapons: {
weapon_0: [Object],
weapon_1: [Object],
weapon_2: [Object],
weapon_3: [Object]
},
match_stats: { kills: 7, assists: 0, deaths: 4, mvps: 1, score: 18 }
},
auth: { token: 'REDACTED' }
}
```