Giter Site home page Giter Site logo

draftbot's Introduction

About

DraftBot facilitates an organized draft of players into teams similar to an entry draft in sports leagues. It is designed to level the playing field initially for each captain of each team regardless of their skill so that the final teams are a result of captain drafting skill and player knowledge only.

What is mIRC?

mIRC is a popular client for the IRC protocol with a powerful event-based scripting language.

How it works

A number of players volunteer to captain a team (typically 12-20 teams of 8 or more). Once all captains are determined and players have signed up to play, all players including the captains are given a dollar value (salary) from $100-$1000 (or similar) based on their skill level. The difference in captain salaries determines the initial picking order with the cheapest captain picking first. Each team has a total salary cap which can be fully available to each team from the start (so that they can pick the highest-ranked player each round) or given in increments each round for more strategic picking. Each round the bot determines the pick order and each captain is allowed to pick one player per round (with the price restrictions which are known in advance). Pick order after the initial round is determined by total salary with the lowest total salary picking first. The draft is complete once each team has the predetermined number of players.

List of Features

  • Total salary can be fully available to each team from the start or given in increments each round
  • Each team can be given a set number of timeouts (2-3 minutes each) for extra time in deciding who to pick
  • Round salary values can be automatically generated or manually entered
  • Ability to change captains or pause the draft in the case of player disconnection from the IRC server
  • Ability to restart draft in the case of bot disconnection
  • Automatically moderates the channel once a draft starts and gives each captain voice when it is their turn to pick
  • Connecting to the server as ($nick + 1) and ($nick + 2) i.e., draftbot1 and draftbot2, will use both nicks to output the messages. Useful on servers with prohibitive flood restrictions
  • Automatic warnings when approaching the round timelimit and automatic picking of the highest salary player when the time is up
  • A myriad of commands to facilitate the draft and aid each captain in their decision making. See Usage for a full list

Installation

  1. Place all files in the mIRC default scripts directory. This is the mIRC root folder for versions prior to 6.3 and %APPDATA%\mIRC for versions thereafter
  2. Type /load -rs draftbot.mrc in the server window
  3. Load up your IRC server of choice, join a channel and type: .setdraft on. NOTE: This bot works best on a network where it can be given the +B flag or similar permissions. If not, mIRC flood rules need to be enabled or the bot may be kicked for flooding

Command List

Command prefixes are ! and . only. All OPs in the channel have access to all admin commands.


Basic Commands

Command SyntaxDescription
.commands Displays a shortened list of commands.
.pick <player> Picks the specified player. Must match the name returned from a .range command.
.range <low_value-high_value> Lists all players in the given price range.
.order Lists the pickorder for the current round.
.nextorder Lists the current pickorder for the next round. This list is incomplete until the round is over.
.fpick <player> Returns how much you would have to spend in the next round if that person is picked. Does not actually pick the player.
.find <player> Finds *player* in the playerlist.
.timeout An extra 2 minutes is given per timeout. Maximum of two per captain.
.bank Returns how much you have to spend in the current round.
.teams Returns the current draft of teams.
.showteam <captain> Returns the playerlist for that specific captain.
.showrounds Returns the roundcaps.
.about Returns version and author (me!).


Admin Commands

Command SyntaxDescription
.setdraft <on | off> Will turn on the bot to respond to commands in the channel it was typed. Needs to be done on the mIRC running the script.
.captain <irc_nick> <list_nick> Will add a captain to the list, linking their irc nick to the nick found in a .range. Captains can change nicks after they are added.
.startdraft Will start the draft. Make sure all captains are ready! Will moderate the channel and voice each captain when it is their turn.
.pause Will indefinitely pause the draft. Will resume when a pick is performed.
.reset Resets the draft sending all players back to the pool. The captain list will remain intact.
.fullreset Sends all player to the pool and removes all captains.
.delcapt <irc_nick> <list_nick> Removes the captain from the captain list.
.resetcaptains Resets only the captain list.
.makelist Will attempt to import the player list from rankings.txt (A space delimited list of the players and their rank value, i.e.e from 100-1000). Outputs the full list of players to r2.txt.
.players <number> Will automatically create roundcaps where <number> is the total number of players per team including the captain. The roundcaps are determined as follows: Total cap = (average salary of all players) * (number of players per team). Will allot $1000 for the first two rounds so that every captain can be bought no matter the price and so that each captain can pick anyone in their first round. The reset of the salary is evenly divided amongst the remaining rounds.
.rounds <round1,round2,rounds3> A comma-delimited list of the roundcaps. Each number represents the amount of money unavailable to the captain for that round. For example: .rounds 5000,4000,3500,0 translates to ($5000-$4000)=$1000 for the first round (captains are bought here), ($4000-$3500)=$500 added to each captain balance for the second round and ($3500-0)=$3500 added to each captain balance for the last round. In this fictitious example there are 3 rounds. Since captains are automatically bought in the first round, there are only two picking rounds. In total there are 3 players per team.

Example Usage

After joining the IRC server and channel of choice (preferably with unrestricted flood controls) the commands below are the bare minimum to get started (after creating the rankings.txt file):
  1. .setdraft on
  2. .fullreset
  3. .makelist
  4. .rounds 5100,4100,3100,2713,2326,1939,1552,1165,778,391,0
  5. .captain irc_nick1 list_nick1
  6. .captain irc_nick2 list_nick2
  7. .captain irc_nick3 list_nick3
  8. .startdraft

Please read the full command list to understand any requirements or alternatives for each command.

draftbot's People

Contributors

daavidee avatar

Watchers

 avatar

Forkers

randommonk

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.