Пример #1
0
async def _(event):
    if event.fwd_from:
        return
    reply_message = event
    if event.reply_to_msg_id:
        reply_message = await event.get_reply_message()
    emoticon = event.pattern_match.group(1)
    input_str = event.pattern_match.group(2)
    await event.delete()
    if emoticon == "bb":
        emoticon = "🏀"
    r = await reply_message.reply(file=InputMediaDice(emoticon=emoticon))
    if input_str:
        try:
            required_number = int(input_str)
            while r.media.value != required_number:
                await r.delete()
                r = await reply_message.reply(file=InputMediaDice(
                    emoticon=emoticon))
        except BaseException:
            pass
    else:
        if event.sender_id == event.client.uid:
            await event.edit(file=InputMediaDice(emoticon=emoticon))
        else:
            await event.reply(file=InputMediaDice(emoticon=emoticon))
Пример #2
0
async def _(event):
    "To get specific jackpot emoji animation"
    reply_message = event
    if event.reply_to_msg_id:
        reply_message = await event.get_reply_message()
    emoticon = event.pattern_match.group(1)
    input_str = int(event.pattern_match.group(2))
    if not 0 < input_str < 65:
        return
    await event.delete()
    if emoticon == "jp":
        emoticon = "🎰"
    r = await reply_message.reply(file=InputMediaDice(emoticon=emoticon))
    if input_str:
        try:
            required_number = int(input_str)
            while r.media.value != required_number:
                await r.delete()
                r = await reply_message.reply(file=InputMediaDice(
                    emoticon=emoticon))
        except BaseException:
            pass
    elif event.sender_id == event.client.uid:
        await event.edit(file=InputMediaDice(emoticon=emoticon))
    else:
        await event.reply(file=InputMediaDice(emoticon=emoticon))
Пример #3
0
async def _(event):
    if event.fwd_from:
        return

    input_str = print(randrange(6))
    r = await event.reply(file=InputMediaDice("🏀"))
    if input_str:
        try:
            required_number = int(input_str)
            while r.media.value != required_number:
                await r.delete()
                r = await event.reply(file=InputMediaDice("🏀"))
        except BaseException:
            pass
Пример #4
0
async def _(event):
    if event.fwd_from:
        return
    input_str = print(randrange(7))
    await event.delete()
    r = await event.reply(file=InputMediaDice())
    if input_str:
        try:
            required_number = int(input_str)
            while not r.media.value == required_number:
                await r.delete()
                r = await event.reply(file=InputMediaDice())
        except:
            pass
Пример #5
0
async def _(event):
    if event.fwd_from:
        return
    input_str = event.pattern_match.group(1)
    await event.delete()
    r = await event.reply(file=InputMediaDice(''))
    if input_str:
        try:
            required_number = int(input_str)
            while not r.media.value == required_number:
                await r.delete()
                r = await event.reply(file=InputMediaDice(''))
        except BaseException:
            pass
Пример #6
0
 async def dicecmd(self, message):
     """Бросает кубик (опционально с указанным значением)
        .dice <смайлик> <результат> <количество>"""
     args = utils.get_args(message)
     if await self.allmodules.check_security(message, security.OWNER
                                             | security.SUDO):
         try:
             emoji = args[0]
         except IndexError:
             emoji = "🎲"
         possible = self.config["POSSIBLE_VALUES"].get(emoji, None)
         if possible is None:
             emoji = "🎲"
             possible = self.config["POSSIBLE_VALUES"][emoji]
         values = set()
         try:
             for val in args[1].split(","):
                 value = int(val)
                 if value in possible:
                     values.add(value)
         except (ValueError, IndexError):
             values.clear()
         try:
             count = int(args[2])
         except (ValueError, IndexError):
             count = 1
         rolled = -1
         done = 0
         chat = message.to_id
         client = message.client
         while True:
             task = client.send_message(chat, file=InputMediaDice(emoji))
             if message:
                 message = (await asyncio.gather(message.delete(), task))[1]
             else:
                 message = await task
             rolled = message.media.value
             logger.debug("Rolled %d", rolled)
             if rolled in values or not values:
                 done += 1
                 message = None
                 if done == count:
                     break
     else:
         try:
             emoji = args[0]
         except IndexError:
             emoji = "🎲"
         await message.reply(file=InputMediaDice(emoji))
Пример #7
0
 async def dicecmd(self, message):
     """Rolls a die (optionally with the specified value)
        .dice <emoji> <outcomes> <count>"""
     args = utils.get_args(message)
     if await self.allmodules.check_security(message, security.OWNER
                                             | security.SUDO):
         try:
             emoji = args[0]
         except IndexError:
             emoji = "🎲"
         possible = self.config["POSSIBLE_VALUES"].get(emoji, None)
         if possible is None:
             emoji = "🎲"
             possible = self.config["POSSIBLE_VALUES"][emoji]
         values = set()
         try:
             for val in args[1].split(","):
                 value = int(val)
                 if value in possible:
                     values.add(value)
         except (ValueError, IndexError):
             values.clear()
         try:
             count = int(args[2])
         except (ValueError, IndexError):
             count = 1
         rolled = -1
         done = 0
         chat = message.to_id
         client = message.client
         while True:
             task = client.send_message(chat, file=InputMediaDice(emoji))
             if message:
                 message = (await asyncio.gather(message.delete(), task))[1]
             else:
                 message = await task
             rolled = message.media.value
             logger.debug("Rolled %d", rolled)
             if rolled in values or not values:
                 done += 1
                 message = None
                 if done == count:
                     break
     else:
         try:
             emoji = args[0]
         except IndexError:
             emoji = "🎲"
         await message.reply(file=InputMediaDice(emoji))
 async def send_message(self, client: TelegramClient, chat_id: int, target: Message = None) -> Message:
     return await client.send_message(
         chat_id,
         f"Dice caption {uuid4()}",
         file=InputMediaDice(self.emoji),
         reply_to=target
     )
Пример #9
0
 async def dartscmd(self, message):
     """Rolls a darts (optionally with the specified value)(edited by @mpamop)"""
     args = utils.get_args(message)
     values = set()
     try:
         for val in args[0].split(","):
             value = int(val)
             if value >= 1 and value <= 6:
                 values.add(value)
     except (ValueError, IndexError):
         values.clear()
     try:
         count = int(args[1])
     except (ValueError, IndexError):
         count = 1
     rolled = -1
     done = 0
     chat = message.to_id
     client = message.client
     while True:
         task = client.send_message(chat,
                                    file=InputMediaDice(
                                        self.config["DICE_EMOJI"]))
         if message:
             message = (await asyncio.gather(message.delete(), task))[1]
         else:
             message = await task
         rolled = message.media.value
         logger.debug("Rolled %d", rolled)
         if rolled in values or not values:
             done += 1
             message = None
             if done == count:
                 break
Пример #10
0
async def _(event):
    if event.fwd_from:
        return
    input_str = event.pattern_match.group(1)
    r = await event.reply(file=InputMediaDice(""))
    input_int = int(input_str)
    if input_int > 6:
        await event.reply("hey n***a use number 1 to 6 only")
    
    else:
        try:
            required_number = input_int
            while r.media.value != required_number:
                await r.delete()
                r = await event.reply(file=InputMediaDice(""))
        except BaseException:
            pass
Пример #11
0
 async def send_message(self,
                        client: TelegramClient,
                        chat_id: int,
                        target: Message = None) -> Message:
     from telethon.tl.types import InputMediaDice
     return await client.send_message(chat_id,
                                      f"Dice caption {uuid4()}",
                                      file=InputMediaDice(),
                                      reply_to=target)
Пример #12
0
async def _(event):
    if event.fwd_from:
        return
    input_str = event.pattern_match.group(1)
    await event.delete()
    r = await event.reply(file=InputMediaDice("🎲"))
    if input_str:
        try:
            required_number = int(input_str)
            if required_number >= 7:
                required_number = 6
            if required_number <= 0:
                required_number = 1
            while not r.media.value == required_number:
                await r.delete()
                r = await event.reply(file=InputMediaDice("🎲"))
        except:
            pass
Пример #13
0
async def _(event):
    if event.fwd_from:
        return
    if event.is_group:
        if not (await is_register_admin(event.input_chat,
                                        event.message.sender_id)):
            await event.reply("")
            return
    input_str = print(randrange(7))
    r = await event.reply(file=InputMediaDice('🎯'))
    if input_str:
        try:
            required_number = int(input_str)
            while not r.media.value == required_number:
                await r.delete()
                r = await event.reply(file=InputMediaDice('🎯'))
        except:
            pass
Пример #14
0
async def _(event):
    if event.fwd_from:
        return
    reply_message = event
    if event.reply_to_msg_id:
        reply_message = await event.get_reply_message()
    emoticon = event.pattern_match.group(1)
    input_str = event.pattern_match.group(2)
    await event.delete()
    r = await reply_message.reply(file=InputMediaDice(emoticon=emoticon))
    if input_str:
        try:
            required_number = int(input_str)
            while not r.media.value == required_number:
                await r.delete()
                r = await reply_message.reply(file=InputMediaDice(emoticon=emoticon))
        except:
            pass
Пример #15
0
async def random(evt: CommandEvent) -> EventID:
    if not evt.is_portal:
        return await evt.reply("You can only roll dice in portal rooms")
    portal = po.Portal.get_by_mxid(evt.room_id)
    arg = evt.args[0] if len(evt.args) > 0 else "dice"
    emoticon = {
        "dart": "\U0001F3AF",
        "dice": "\U0001F3B2",
    }.get(arg, arg)
    try:
        await evt.sender.client.send_media(await portal.get_input_entity(evt.sender),
                                           InputMediaDice(emoticon))
    except EmoticonInvalidError:
        return await evt.reply("Invalid emoji for randomization")
Пример #16
0
async def fake_dice(rolling):
    argums = rolling.text.split(" ")
    if len(argums) != 2:
        await rolling.edit("`Invalid arguments!`")
        return
    try:
        objective = int(argums[1])
    except ValueError:
        await rolling.edit("`Invalid destination value!`")
        return
    possible_vals = [1, 2, 3, 4, 5, 6]
    if objective not in possible_vals:
        await rolling.edit("`Invalid destination value!`")
        return
    await rolling.delete()
    while True:
        newdice = await rolling.client.send_message(
            rolling.to_id, file=InputMediaDice("🎲"))
        rolled_val = newdice.media.value
        if rolled_val == objective:
            return
        else:
            await newdice.delete()
        time.sleep(0.25)
Пример #17
0
async def _(event):
    if event.fwd_from:
        return

    await event.reply(file=InputMediaDice("🎰"))
Пример #18
0
async def dice(rolling):
    await rolling.client.send_message(rolling.to_id,
                                      file=InputMediaDice("🎲"))
    await rolling.delete()
    return
Пример #19
0
async def send_dice(event: Message):
    await bot.send_message(event.chat.id, file=InputMediaDice('?'))