1. New to the forums? Check out our Mentorship Program!
    Our mentors will answer your questions and help you become a part of the community!
  2. Welcome to Smogon Forums! Please take a minute to read the rules.

Programming TIBot

Discussion in 'Technical Projects' started by The Immortal, Sep 6, 2013.

  1. The Immortal

    The Immortal Administrator of Showdown!
    is a Battle Server Administratoris a Programmeris a Forum Moderatoris a Tiering Contributor
    Moderator

    Joined:
    Sep 27, 2010
    Messages:
    1,464
    <Molk> because tibot is legitimately the best bot

    Hello Smogon.

    TIBot is an IRC bot that I started developing about 10 months ago. It contains numerous features that I have implemented over the months to help with teambuilding, battling, or just to learn about the various elements that make up Pokemon. The source of informational commands, such as !data and !learn, is Pokemon Showdown.

    The purpose of this thread is to show you how to utilize TIBot to its maximum potential, because many of you that frequent IRC are unaware about all its features. In addition, you can also request new features to be added or changes to current ones.

    The list of TIBot commands can be viewed by using !tibot. This will bring up a list of Pokemon related commands and another of general commands. To view the syntax of a specific command, use the command without any parameters. In this thread, I will focus on the Pokemon commands.

    !data
    Displays information about Pokemon, Items, Abilities, Moves, and Natures
    Syntax: !data followed by one of the above mentioned elements
    Example: !data technician

    !egg
    Displays the gender ratios and egg groups of Pokemon
    Syntax: !egg [pokemon]
    Example: !egg lucario

    !eggsearch
    Searches for Pokemon with a particular egg group and move(s)
    Syntax: !eggsearch [egg group], [move], [move]
    Example: !eggsearch field, spikes

    !event / !events
    Displays all the information about any particular event Pokemon
    Syntax: !event [pokemon] [number] with the first event being 0 (to correlate with the output from !learn and event only moves)
    Example: !event raikou 1
    Using just !event [pokemon] without any number will tell you how many events the Pokemon has

    !learn
    Checks if a Pokemon can learn a specific Move or a set of Moves, and mentions the limitations if there are any
    Syntax: !learn [pokemon], [move], [move], [move], [move]
    Example: !learn ferrothorn, leech seed, spikes
    To check for legality in LC, use !learn5 as the command
    For breeding, parents are limited to 10 to prevent spam; message TIBot to view them all

    !psreg
    Displays the date a certain nick was registered on Pokemon Showdown
    Syntax: !psreg [nick]
    Example: !psreg chaos

    !randbat / !randbats
    Displays the list of moves a Pokemon can possibly have in Pokemon Showdown's Random Battle
    Syntax: !randbat [pokemon]
    Example: !randbat vaporeon

    !rank
    Displays a user's current rank in a certain tier on the official Pokemon Showdown server
    Syntax: !rank [nick], [tier] or !rank tier which will use your IRC nick
    Valid tiers are those you can "Look for a battle" with on Pokemon Showdown
    Includes aliases for some tiers: randbats, cc, cc1v1, bh, vgc, doubles
    Example: !rank zebraiken, ubers

    replays
    When the link to a Pokemon Showdown replay is shown, TIBot provides details about the battle
    Example:
    <TheImmortal> https://pokemonshowdown.com/replay/ou-48291593
    <TIBot> Lady Samantha vs haunter | OU | Unrated

    !search
    Searches for Pokemon based on Ability, Type, Moves, and base Stats
    Syntax: !search [ability], [move], [type], [stat operator number] with the parameters in any order
    One Ability, two Types, and four Moves are the limits
    Stats are: hp, atk, def, spa, spd, spe
    Operators are: <, <=, =, >=, >
    Example: !search ground, stealth rock, spe > 100
    To limit the results to a particular tier only, include the tier in the command; for example: !searchou
    To search for fully evolved Pokemon only, use !searchfe
    To search for VGC 2014 permitted Pokemon only, use !searchvgc
    Results are either limited to 15 Pokemon or a link to the Pokemon Showdown Pokedex is shown, depending on the search; message TIBot to view them all
    Certain form(e)s are not shown in the results, depending on the search; such as all the Deoxys formes when searching for only a move

    !sets (currently unavailable; waiting for the new Smogon dex to update it)
    Retrieves a Pokemon's sets from Smogon
    Syntax: !sets [pokemon] [tier] [number]
    Valid tiers are: nu, ru, uu, ou, uber, lc, vgc2012, doubles
    Example: !sets jirachi ou 1
    Not specifying a number, or 0, will show you how many sets are available
    Previous Gen sets can be obtained by adding the Gen number after the command, such as: !sets4 (doesn't include Gen 1)
    The tier parameter can be left out for the current Gen, and it will use the Pokemon's current tier

    !stat
    Calculates any of a Pokemon's stats
    Syntax: !stat [pokemon] [hp/atk/def/spa/spd/spe] [ivs:evs±] [boost] [level]
    No IVs assumes 31, no level assumes 100, and boost is optional
    Examples: !stat victini atk 252+ and !stat latios spa 30:252 +1

    !teambuild (currently unavailable; waiting for the new Smogon dex to update it)
    Builds a team from Smogon sets, and uploads it to Hastebin
    Syntax: !teambuild [tier], [pokemon] [set number], [pokemon] [set number], ...
    Valid tiers are: nu, ru, uu, ou, uber, lc, vgc2012, doubles
    Example: !teambuild ou, politoed 1, jirachi 1, ferrothorn 1, toxicroak 1, garchomp 5, thundurus-t 2
    Set numbers can be obtained from the !sets command

    !ts
    Displays a Pokemon's stats in Tier Shift (https://smogon.com/forums/threads/3508369/)
    Syntax: !ts [pokemon]
    Example: !ts golurk


    !usage
    Displays usage stats for the official Pokemon Showdown server
    Syntax: !usage [pokemon] [abilities/items/spreads/moves/teammates/checkscounters] [tier]
    The parameter after "pokemon" is for moveset stats and not specifying it will show you the Pokemon's usage in the tier specified
    Valid tiers are: ou, ubers, lc, doubles
    Examples: !usage kingdra ou and !usage kingdra moves ou
    If there was a suspect test the previous month, then add "suspect" after the tier for those stats; such as: oususpect
    Adding "1850" after the command will display the 1850 stats; such as !usage1850 politoed
    The tier parameter can be left out, and it will use the Pokemon's current tier


    Note on aliases: In addition to single letter aliases after the species name for form(e)s, TIBot also accepts the trademarked Japanese names and Pokedex numbers for Pokemon


    Other Commands (open)

    !d / !def / !define - Looks up the definition of a term on Wiktionary

    !g - Displays the first Google search result

    !gis - Displays the first Google images result

    !log - Links a log of the current channel for halfops and above (!log MM/DD for a specific day)

    !s / !soundcloud - Displays the first SoundCloud tracks search result

    !syn / !ant - Displays synonyms/antonyms for a particular word

    !tell - Securely sends a message to someone the next time they speak; need to be identified to send/receive

    !u - Looks up a term on Urban Dictionary

    !w / !wiki - Displays the first Wikipedia search result

    !y - Displays the first YouTube search result


    Feel free to invite TIBot to one of your channels, or even message it. I hope this was helpful, and keep on using TIBot :)!
    Last edited: Jun 5, 2014
  2. The Immortal

    The Immortal Administrator of Showdown!
    is a Battle Server Administratoris a Programmeris a Forum Moderatoris a Tiering Contributor
    Moderator

    Joined:
    Sep 27, 2010
    Messages:
    1,464
    Added !teambuild command.
    Last edited: Sep 11, 2013
    Zebraiken and Subject 18 like this.
  3. The Immortal

    The Immortal Administrator of Showdown!
    is a Battle Server Administratoris a Programmeris a Forum Moderatoris a Tiering Contributor
    Moderator

    Joined:
    Sep 27, 2010
    Messages:
    1,464
    Added !stat command.
  4. Joim

    Joim All promises become a lie, all that's bening corrups in time
    is a Site Staff Alumnusis a Battle Server Admin Alumnusis a Programmer Alumnusis a Smogon Media Contributor Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis an Administrator Alumnus

    Joined:
    Oct 9, 2012
    Messages:
    1,508
    Add my !gen1 command already, displaying gen 1 Pokémon data >=(
    LurkingBird+ and apt-get like this.
  5. sandshrewz

    sandshrewz
    is a Site Staff Alumnusis an Artist Alumnusis a Forum Moderator Alumnusis a Smogon Media Contributor Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus

    Joined:
    Oct 18, 2010
    Messages:
    2,433
    !smogdex would be a good addition instead of using !g smogon [pokemon] haha x)
    LurkingBird+ likes this.
  6. The Immortal

    The Immortal Administrator of Showdown!
    is a Battle Server Administratoris a Programmeris a Forum Moderatoris a Tiering Contributor
    Moderator

    Joined:
    Sep 27, 2010
    Messages:
    1,464
    I don't want to include commands for older gens, so I am not adding !gen1. Maybe I'll add !smogdex once Smogon is updated with XY.

    Added !searchvgc for Kalos Pokemon, at the request of breh. In addition, it only shows fully evolved Pokemon.
  7. The Immortal

    The Immortal Administrator of Showdown!
    is a Battle Server Administratoris a Programmeris a Forum Moderatoris a Tiering Contributor
    Moderator

    Joined:
    Sep 27, 2010
    Messages:
    1,464
    Added !egg and !eggsearch.
    sandshrewz likes this.
  8. The Immortal

    The Immortal Administrator of Showdown!
    is a Battle Server Administratoris a Programmeris a Forum Moderatoris a Tiering Contributor
    Moderator

    Joined:
    Sep 27, 2010
    Messages:
    1,464
    No. TIBot is not opensource, and I only run it on synIRC.

Users Viewing Thread (Users: 0, Guests: 0)