• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 09:00
CEST 15:00
KST 22:00
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Serral wins Maestros of the Game 234ByuL, and the Limitations of Standard Play3Team Liquid Map Contest #22: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7
Community News
Weekly Cups (June 29-July 5): Solar Doubles0MC vs IdrA, Boxer vs Nal_rA to be Legacy Matches @ BlizzCon415.0.16 Hotfix (June 30) - Balance + Bug Fixes40Weekly Cups (June 22-28): Zergs thrive in new patch5[TLMC] Summer 2026 Ladder Map Rotation0
StarCraft 2
General
Most successful SC2 players of Q2 2026 Serral wins Maestros of the Game 2 Is the larve respawn broken? 5.0.16 patch for SC2 goes live (8 worker start) 5.0.16 Hotfix (June 30) - Balance + Bug Fixes
Tourneys
Sea Duckling Open (Global, Bronze-Diamond) Crank Gathers Season 4: BW vs SC2 Team League GSL CK #5 Race War HomeStory Cup 29 RSL Revival: Season 6 - Qualifiers and Main Event
Strategy
[G] Having the right mentality to improve
Custom Maps
New Map Maker - Looking for Advice - Love or Hate Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
Mutation # 533 Die Together The PondCast: SC2 News & Results Mutation # 532 Nuclear Family Mutation # 531 Experimental Artillery
Brood War
General
Starcraft vs Retro Category on Twitch ASL 22 Proposed Map Pool 60% Keyboards Viable for Starcraft? Snow On New ASL S22 Map, Zerg Nerf BW General Discussion
Tourneys
Escore Tournament StarCraft Season 2 Small VOD Thread 2.0 IPSL Spring 2026 Top 4! CSLAN 4 is Coming!
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers Creating a full chart of Zerg builds Relatively freeroll strategies
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Summer Games Done Quick 2026! ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor Official 'what is Dota anymore' discussion
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
NeO.D_StephenKing vs This Guy From 1 Million Dance TL Mafia Community Thread TL Mafia Power Rank Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread UK Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The HerO Fan Club!
Media & Entertainment
Anime Discussion Thread Movie Discussion! Series you have seen recently... [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Tennis[sport] Formula 1 Discussion TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
FPS when play League Of Legend on laptop How to clean a TTe Thermaltake keyboard? Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Major Shifts in the Gaming I…
TrAiDoS
An Exploration of th…
waywardstrategy
Gauntlet SC2: A Retrospectiv…
Ctone23
ramps on octagon
StaticNine
Funny Nicknames
LUCKY_NOOB
Evil Gacha Games and the…
ffswowsucks
Customize Sidebar...

Website Feedback

Closed Threads



Active: 4702 users

Mafia Votecount Tool - Page 2

Forum Index > TL Mafia
Post a Reply
Prev 1 2 3 4 5 11 12 13 Next All
ShoCkeyy
Profile Blog Joined July 2008
7815 Posts
July 09 2015 15:22 GMT
#21
You should definitely get a github going, we can pretty easily expand the code for this. Also I noticed you're hosting on heroku, are you using node as well? or just plain jquery?

We can talk to TL admins to spit out JSON for mafia forums for security reasons, ask them to just add an API Token.
Life?
Alakaslam
Profile Blog Joined September 2011
United States17336 Posts
July 09 2015 15:47 GMT
#22
Stop making derogatory threads about me

+ Show Spoiler +
I am not a tool!+ Show Spoiler +
lol
If you think Elon Musk is a Nazi, it is because YOU radicalized him!
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 09 2015 17:44 GMT
#23
Here's the GitHub page for this if you're interested:

https://github.com/Xatalos/mafia-votecount

JQuery is used a bit, but not Node.js.
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 09 2015 17:49 GMT
#24
It doesn't currently run locally, by the way. If you want to fix that, then revert the changes I made in the last week or so (database settings from PostgreSQL -> H2).
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
ShoCkeyy
Profile Blog Joined July 2008
7815 Posts
July 09 2015 18:08 GMT
#25
Purpose of using clojure as opposed to PHP or other languages? Just curious :D
Life?
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 09 2015 21:33 GMT
#26
Clojure was chosen because my friend (TripleSnail) wanted to learn Clojure, so I suggested this idea to him At the same time I wanted to learn JavaScript.
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
ShoCkeyy
Profile Blog Joined July 2008
7815 Posts
July 10 2015 14:04 GMT
#27
On July 10 2015 06:33 Xatalos wrote:
Clojure was chosen because my friend (TripleSnail) wanted to learn Clojure, so I suggested this idea to him At the same time I wanted to learn JavaScript.


Javascript treating you right? But that's cool, I'm definitely going to look into it. Thanks for the push start!
Life?
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 10 2015 17:59 GMT
#28
On July 10 2015 23:04 ShoCkeyy wrote:
Show nested quote +
On July 10 2015 06:33 Xatalos wrote:
Clojure was chosen because my friend (TripleSnail) wanted to learn Clojure, so I suggested this idea to him At the same time I wanted to learn JavaScript.


Javascript treating you right? But that's cool, I'm definitely going to look into it. Thanks for the push start!


It's been a pretty interesting journey. I've learned quite a few new things about JavaScript/CSS (especially the one page approach implementation) and also a bit of Clojure.

By the way I don't think there's much need for a JSON feed or something like that. TripleSnail said that the easy part is finding the posts and their content as well. The problems are with sorting the content of the posts and giving the content in a different form wouldn't help with that really.

You're free to use the code for something else if you want to. You can also make a pull request if you notice something that needs fixing.

I should get back to working on the project in the near future
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
gonzaw
Profile Joined December 2011
Uruguay4911 Posts
July 12 2015 09:23 GMT
#29
Awesome.

Nice choice to use Clojure. If you start learning more of it surely you'll come up with new ways to improve your app.

On July 06 2015 21:24 Xatalos wrote:
1) The votes of the current day could perhaps also be displayed in the same format as the regular votecount posts on the forum. That way the host/co-host could simply always copy the most recent vote listing of this format to the thread when there's a need for another votecount post. However, there's a major problem with this idea: it's that many players vote with all kinds of "nicknames" or just misspell when they're voting. That causes huge difficulties for displaying votes neatly in such a format.


Like people said, ignore the "nicknames" and stuff. People should be able to know how CTRL+C works.
If you do allow hosts to pre-define the list of players, then you can only allow votes on those players, and give out warnings if someone voted for someone differently.
Or if you want it to be more flexible (for instance if you allow stuff like "#Vote: GLaDOS"), just leave it like it is.

2) There could be some sort of an authentication system for creating new games. This way only actual hosts could create new games and there wouldn't be any need to worry about trolls ruining the website by spamming the "Create New Game" button. Hopefully there wouldn't even be a need for this, but...


Nah, that'd make it overly-complicated. You'd have to manage those accounts manually, only for people in TL. If someone new wants to start using your app you have to create a new account just for him, etc.
With tools like a Captcha (to prevent bots from creating games), and some mild moderating, there won't be problems. Alternatively give someone the "job" of accepting which game is created or not. Each "create new game" button creates an application which you can accept or reject. But until that problem actually happens, I'd say ignore it.

Also, in the near/mid future, you may want to expose your vote-counter as a service (web services and all that). That way you could create games, receive notifications for new votes, get a list of all games/current votes by bots and other apps. It'd be easier to add security there too (you can give credentials to certain bots/apps and never worry again), etc. Might come handy in the future.


Once I finish my bachelors degree (is it called that in USA?), I have a craving for starting a project similar to this. I just need some free time to get rolling.
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 12 2015 10:11 GMT
#30
Thanks for the suggestions.

I, too, hope that nobody decides to troll the app :D

My current idea is to do it just like rayn suggested. We'll see how it goes. Going to be away from home for a bit now though.
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 14 2015 20:22 GMT
#31
I implemented a tentative version of the "copy-pasteable" votecount listing that rayn suggested.

It looks kind of like this at the moment:

---

Current Day Votecount

Bill Murray (2): jcarlsoniv,Lord Tolkien
lord tolkien (0):
BillMurray (2): AsmodeusXI,ComaDose
vote: jcarlsoniv (1): Bill Murray
jcarlsoniv (1): Bill Murray
yomato (1): ComaDose

---

Source for the example: https://mafia-votecount.herokuapp.com/#487695-ot-vs-the-mods-mafia

Feedback is welcome!

At the moment I'm considering that it could be nice to also add things like:

- The list of non-voters
- Unvotes don't delete the vote but just overwrite it in the view
- Ordering of the votes in highest -> lowest order?

But that's enough for this session :D
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 14 2015 20:25 GMT
#32
(By the way... If you're wondering why Bill Murray has two votes in that example, it's because he voted twice in a row without unvoting... When you unvote, it deletes all your votes in the view, but in that case, two different votes without unvoting -> two votes in the view...)
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 14 2015 20:26 GMT
#33
The "Players" list is pretty useless at this point in time, so I'll just delete it for the time being while at it....
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 14 2015 20:32 GMT
#34
I'm actually not sure what should be done in that situation (a player voting another player without unvoting). Should it be considered as an unvote+vote? Or an invalid vote? Opinions?
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 14 2015 20:33 GMT
#35
(Currently it just adds the new vote without doing anything about the old vote)
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Holyflare
Profile Blog Joined November 2010
United Kingdom30775 Posts
July 14 2015 22:12 GMT
#36
On July 15 2015 05:32 Xatalos wrote:
I'm actually not sure what should be done in that situation (a player voting another player without unvoting). Should it be considered as an unvote+vote? Or an invalid vote? Opinions?


unvote and vote since he clearly meant to vote someone new
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 15 2015 09:00 GMT
#37
I guess that would make more sense, yeah.
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 15 2015 10:12 GMT
#38
Well, now a vote on another player is considered as unvote+vote....
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Holyflare
Profile Blog Joined November 2010
United Kingdom30775 Posts
July 15 2015 10:18 GMT
#39
Sweet! Ty dude. You should enable some kind of version where it just crosses out the name for an unvote if people want that info or something
Xatalos
Profile Joined January 2011
Finland9675 Posts
July 15 2015 10:41 GMT
#40
Just implementing that feature Sorry if the app is being a bit unstable in the recent minutes since I'm testing stuff directly in the Heroku version.
"The opportunity to secure ourselves against defeat lies in our own hands, but the opportunity of defeating the enemy is provided by the enemy himself." - Sun Tzu
Prev 1 2 3 4 5 11 12 13 Next All
Please log in or register to reply.
Live Events Refresh
CrankTV Team League
11:00
Crank Gathers S4: Group Stage
LiquipediaDiscussion
Replay Cast
10:00
HSC 29: Playoffs
CranKy Ducklings122
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 491
Lowko409
SortOf 145
Livibee 96
StarCraft: Brood War
Shuttle 1259
Zeus 1244
actioN 968
Jaedong 912
Hyuk 642
Mini 548
BeSt 415
Horang2 412
Larva 375
Hyun 330
[ Show more ]
Light 278
Soma 256
EffOrt 245
Soulkey 243
ggaemo 154
Mong 150
ZerO 87
Free 77
Rush 63
Mind 57
hero 49
[sc1f]eonzerg 46
ToSsGirL 39
Sea.KH 36
Sharp 30
soO 29
JYJ 25
Icarus 25
Hm[arnc] 24
scan(afreeca) 23
sSak 22
GoRush 17
Sexy 17
HiyA 15
zelot 14
sorry 13
IntoTheRainbow 11
Noble 10
910 9
Dota 2
Gorgc7474
XaKoH 525
Counter-Strike
olofmeister1341
zeus574
markeloff114
kRYSTAL_35
Super Smash Bros
Mew2King70
Other Games
gofns13612
FrodaN2799
singsing1246
B2W.Neo418
hiko382
Hui .155
ToD121
KnowMe92
djWHEAT18
ZerO(Twitch)11
Organizations
Other Games
gamesdonequick20652
StarCraft: Brood War
UltimateBattle 29
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 16 non-featured ]
StarCraft 2
• CranKy Ducklings SOOP222
• StrangeGG 56
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• escodisco4886
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• WagamamaTV302
League of Legends
• Jankos2231
• TFBlade581
Upcoming Events
OSC
1m
Big Brain Bouts
3h 1m
OSC
9h 1m
Replay Cast
11h 1m
RSL Revival
20h 1m
Serral vs Bunny
ByuN vs GgMaChine
CranKy Ducklings
21h 1m
Afreeca Starleague
21h 1m
Snow vs Jaedong
YSC vs hero
IPSL
1d 3h
Dragon vs Ret
RSL Revival
1d 20h
Solar vs Rogue
Maru vs NightMare
Sparkling Tuna Cup
1d 21h
[ Show More ]
IPSL
2 days
Bonyth vs Hawk
GSL
2 days
Replay Cast
3 days
WardiTV Weekly
3 days
The PondCast
4 days
Replay Cast
5 days
CrankTV Team League
5 days
Replay Cast
6 days
CrankTV Team League
6 days
Liquipedia Results

Completed

CSL Season 21: Qualifier 2
HSC XXIX
Eternal Conflict S2 E1

Ongoing

IPSL Spring 2026
Acropolis #4
YSL S3
CSL 2026 Summer (S21)
Escore Tournament S3: W2
CranK Gathers Season 4: BW vs SC2 Team League
SCTL 2026 Spring
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026

Upcoming

ASL Season 22: Wild Card Qualifier
CSLAN 4
Blizzard Classic Cup 2026
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E3
Heroes Pulsing #3
Eternal Conflict S2 E2
Logitech G Connect 2026
StarSeries Fall 2026
FISSURE Playground #5
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.