SYMBOL INDEX (160 symbols across 22 files) FILE: actions.py class Countdown (line 21) | class Countdown(object): method __init__ (line 25) | def __init__(self, player, job_queue): function do_skip (line 31) | def do_skip(bot, player, job_queue=None): function do_play_card (line 87) | def do_play_card(bot, player, result_id): function do_draw (line 134) | def do_draw(bot, player): function do_call_bluff (line 152) | def do_call_bluff(bot, player): function start_player_countdown (line 187) | def start_player_countdown(bot, game, job_queue): function skip_job (line 213) | def skip_job(context: CallbackContext): FILE: bot.py function notify_me (line 55) | def notify_me(update: Update, context: CallbackContext): function new_game (line 71) | def new_game(update: Update, context: CallbackContext): function kill_game (line 99) | def kill_game(update: Update, context: CallbackContext): function join_game (line 135) | def join_game(update: Update, context: CallbackContext): function leave_game (line 174) | def leave_game(update: Update, context: CallbackContext): function kick_player (line 218) | def kick_player(update: Update, context: CallbackContext): function select_game (line 287) | def select_game(update: Update, context: CallbackContext): function status_update (line 325) | def status_update(update: Update, context: CallbackContext): function start_game (line 350) | def start_game(update: Update, context: CallbackContext): function close_game (line 425) | def close_game(update: Update, context: CallbackContext): function open_game (line 453) | def open_game(update: Update, context: CallbackContext): function enable_translations (line 480) | def enable_translations(update: Update, context: CallbackContext): function disable_translations (line 508) | def disable_translations(update: Update, context: CallbackContext): function skip_player (line 538) | def skip_player(update: Update, context: CallbackContext): function reply_to_query (line 572) | def reply_to_query(update: Update, context: CallbackContext): function process_result (line 646) | def process_result(update: Update, context: CallbackContext): function reset_waiting_time (line 707) | def reset_waiting_time(bot, player): FILE: card.py class Card (line 312) | class Card(object): method __init__ (line 315) | def __init__(self, color, value, special=None): method __str__ (line 320) | def __str__(self): method __repr__ (line 326) | def __repr__(self): method __eq__ (line 335) | def __eq__(self, other): method __lt__ (line 339) | def __lt__(self, other): function from_str (line 344) | def from_str(string): FILE: deck.py class Deck (line 29) | class Deck(object): method __init__ (line 32) | def __init__(self): method shuffle (line 39) | def shuffle(self): method draw (line 44) | def draw(self): method dismiss (line 59) | def dismiss(self, card): method _fill_classic_ (line 65) | def _fill_classic_(self): method _fill_wild_ (line 78) | def _fill_wild_(self): FILE: errors.py class NoGameInChatError (line 21) | class NoGameInChatError(Exception): class AlreadyJoinedError (line 25) | class AlreadyJoinedError(Exception): class LobbyClosedError (line 29) | class LobbyClosedError(Exception): class NotEnoughPlayersError (line 33) | class NotEnoughPlayersError(Exception): class DeckEmptyError (line 37) | class DeckEmptyError(Exception): FILE: game.py class Game (line 28) | class Game(object): method __init__ (line 43) | def __init__(self, chat): method players (line 52) | def players(self): method start (line 66) | def start(self): method set_mode (line 75) | def set_mode(self, mode): method reverse (line 78) | def reverse(self): method turn (line 82) | def turn(self): method _first_card_ (line 90) | def _first_card_(self): method play_card (line 104) | def play_card(self, card): method choose_color (line 136) | def choose_color(self, color): FILE: game_manager.py class GameManager (line 29) | class GameManager(object): method __init__ (line 32) | def __init__(self): method new_game (line 40) | def new_game(self, chat): method join_game (line 60) | def join_game(self, user, chat): method leave_game (line 102) | def leave_game(self, user, chat): method end_game (line 140) | def end_game(self, chat, user): method player_for_user_in_chat (line 186) | def player_for_user_in_chat(self, user, chat): FILE: images/build_classic_colorblind_deck.py function overlay_image (line 22) | def overlay_image(color, number): function create_not_playable (line 29) | def create_not_playable(card): function convert_png_to_webp (line 50) | def convert_png_to_webp(suffix): function main (line 64) | def main(): FILE: images/sticker_uploader.py function delete_if_existing (line 48) | async def delete_if_existing(stickers_bot): function create_sticker_set (line 59) | async def create_sticker_set(stickers_bot): function get_sticker_set (line 67) | async def get_sticker_set(): function get_sticker_ids (line 89) | async def get_sticker_ids(sticker_set): function save_sticker_ids (line 113) | async def save_sticker_ids(): function upload_sticker (line 123) | async def upload_sticker(entity, sticker_path): function main (line 136) | async def main(): FILE: internationalization.py class _Underscore (line 33) | class _Underscore(object): method __init__ (line 35) | def __init__(self): method push (line 48) | def push(self, locale): method pop (line 51) | def pop(self): method code (line 58) | def code(self): method __call__ (line 64) | def __call__(self, singular, plural=None, n=1, locale=None): function __ (line 84) | def __(singular, plural=None, n=1, multi=False): function user_locale (line 101) | def user_locale(func): function game_locales (line 121) | def game_locales(func): function _user_chat_from_update (line 153) | def _user_chat_from_update(update): FILE: locales/available.py function flag (line 26) | def flag(code): FILE: mwt.py class MWT (line 6) | class MWT(object): method __init__ (line 11) | def __init__(self,timeout=2): method collect (line 14) | def collect(self): method __call__ (line 23) | def __call__(self, f): FILE: player.py class Player (line 29) | class Player(object): method __init__ (line 37) | def __init__(self, game, user): method draw_first_hand (line 60) | def draw_first_hand(self): method leave (line 70) | def leave(self): method __repr__ (line 85) | def __repr__(self): method __str__ (line 88) | def __str__(self): method next (line 92) | def next(self): method next (line 96) | def next(self, player): method prev (line 103) | def prev(self): method prev (line 107) | def prev(self, player): method draw (line 113) | def draw(self): method play (line 128) | def play(self, card): method playable_cards (line 133) | def playable_cards(self): method _card_playable (line 160) | def _card_playable(self, card): FILE: promotions.py function get_promotion (line 17) | def get_promotion(): function send_promotion (line 21) | def send_promotion(chat, chance=1.0): function send_promotion_async (line 27) | def send_promotion_async(chat, chance=1.0): FILE: results.py function add_choose_color (line 33) | def add_choose_color(results, game): function add_other_cards (line 47) | def add_other_cards(player, results, game): function player_list (line 62) | def player_list(game): function add_no_game (line 71) | def add_no_game(results): function add_not_started (line 85) | def add_not_started(results): function add_mode_classic (line 97) | def add_mode_classic(results): function add_mode_fast (line 109) | def add_mode_fast(results): function add_mode_wild (line 121) | def add_mode_wild(results): function add_mode_text (line 133) | def add_mode_text(results): function add_draw (line 145) | def add_draw(player, results): function add_gameinfo (line 161) | def add_gameinfo(game, results): function add_pass (line 173) | def add_pass(results, game): function add_call_bluff (line 185) | def add_call_bluff(results, game): function add_card (line 198) | def add_card(game, card, results, can_play): function game_info (line 217) | def game_info(game): FILE: settings.py function show_settings (line 32) | def show_settings(update: Update, context: CallbackContext): function kb_select (line 58) | def kb_select(update: Update, context: CallbackContext): function locale_select (line 86) | def locale_select(update: Update, context: CallbackContext): function register (line 98) | def register(): FILE: simple_commands.py function help_handler (line 30) | def help_handler(update: Update, context: CallbackContext): function modes (line 79) | def modes(update: Update, context: CallbackContext): function source (line 92) | def source(update: Update, context: CallbackContext): function news (line 111) | def news(update: Update, context: CallbackContext): function stats (line 119) | def stats(update: Update, context: CallbackContext): function register (line 155) | def register(): FILE: start_bot.py function start_bot (line 24) | def start_bot(updater): FILE: test/test_game_manager.py class Test (line 30) | class Test(unittest.TestCase): method setUp (line 34) | def setUp(self): method test_new_game (line 45) | def test_new_game(self): method test_join_game (line 52) | def test_join_game(self): method test_leave_game (line 76) | def test_leave_game(self): method test_end_game (line 93) | def test_end_game(self): FILE: test/test_player.py class Test (line 28) | class Test(unittest.TestCase): method setUp (line 32) | def setUp(self): method test_insert (line 35) | def test_insert(self): method test_reverse (line 48) | def test_reverse(self): method test_leave (line 65) | def test_leave(self): method test_draw (line 75) | def test_draw(self): method test_draw_two (line 87) | def test_draw_two(self): method test_playable_cards_simple (line 98) | def test_playable_cards_simple(self): method test_playable_cards_on_draw_two (line 111) | def test_playable_cards_on_draw_two(self): method test_playable_cards_on_draw_four (line 125) | def test_playable_cards_on_draw_four(self): method test_bluffing (line 141) | def test_bluffing(self): FILE: user_setting.py class UserSetting (line 25) | class UserSetting(db.Entity): FILE: utils.py function list_subtract (line 34) | def list_subtract(list1, list2): function display_name (line 44) | def display_name(user): function display_color (line 52) | def display_color(color): function display_color_group (line 64) | def display_color_group(color, game): function error (line 80) | def error(update: Update, context: CallbackContext): function send_async (line 85) | def send_async(bot, *args, **kwargs): function answer_async (line 96) | def answer_async(bot, *args, **kwargs): function game_is_running (line 107) | def game_is_running(game): function user_is_creator (line 111) | def user_is_creator(user, game): function user_is_admin (line 115) | def user_is_admin(user, bot, chat): function user_is_creator_or_admin (line 119) | def user_is_creator_or_admin(user, game, bot, chat): function get_admin_ids (line 124) | def get_admin_ids(bot, chat_id):