import telebot
import random
token = '6772682425:AAHdurYqtoK3XbV103kGSr0dAGB8xRHNf50'
bot = telebot.TeleBot(token)
starts = False
starting = True
players = {}
roles = ["Шпион","Житель"]
mesta = ["База террористов","Банк","Больница","Киностудия","Корпоративная вечеринка","Овощебаза","Пассажирский поезд","Пиратский корабль","Полярная станция","Посольство","Ресторан","Супермаркет","Театр","Университет","Войско крестоносцев","Казино","Океанский лайнер","Орбитальная станция","Отель","Пляж","Подводная лодка","Полицейский участок","Самолет","Станция техобслуживания","Цирк","Школа"]
@bot.message_handler(commands=['start_shpion'])
def start_game(message):
global starting
if starting == True:
starting = False
global starts
starts = True
global players
players.clear()
bot.send_message(message.chat.id, text="Добро пожаловать в игру Шпион! Чтобы присоединиться, нажмите --> /join_shpion")
else:
bot.send_message(message.chat.id, text="Игра уже началась, вы не можете начать новую")
@bot.message_handler(commands=['join_shpion'])
def join_game(message):
global players
if starts == True:
if message.from_user.id not in players:
players[message.from_user.id] = None
bot.send_message(chat_id=message.chat.id, text=f"{message.from_user.first_name} Присоединился к игре")
else:
bot.send_message(chat_id=message.chat.id, text="Вы уже в игре")
else:
bot.send_message(message.chat.id, 'Игру еще не запустили\nНапишите в чат /start_shpion чтобы запустить игру')
@bot.message_handler(commands=['start_round'])
def start_round(message):
if starts == True:
if len(players) < 0:
bot.send_message(message.chat.id, "Недостаточно игроков. Нужно как минимум 4 игроков.")
return
random.shuffle(roles)
mestas = random.choice(mesta)
shpion_squad = len(players) // 1
print(shpion_squad)
while shpion_squad > 0:
for player_id, role in zip(players.keys(), roles):
players[player_id] = role
bot.send_message(chat_id=player_id, text=f"Ваша роль: {role}")
print(shpion_squad)
shpion_squad -= 1
if role == "Житель":
bot.send_message(chat_id=player_id, text=f'Тема: {mestas}')
else:
bot.send_message(message.chat.id,'Игру еще не запустили\nНапишите в чат /game чтобы запустить игру' )
@bot.message_handler(commands=['stop_shpion'])
def stop(message):
global starting
starting = True
bot.polling(none_stop=True)