Passed
Pull Request — main (#176)
by Yohann
01:42
created

guessing_game   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 42
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 7
eloc 30
dl 0
loc 42
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B Bot.guess() 0 28 7
1
import random
2
3
from pincer import Client, command
4
from pincer.objects import Intents, MessageContext
5
6
7
class Bot(Client):
8
9
    @command()
10
    async def guess(self, ctx: MessageContext, biggest_number: int):
11
12
        await ctx.reply(f"Starting the guessing game! Picker a number between 0 and {biggest_number}.")
13
        channel = await self.get_channel(ctx.channel_id)
14
        number = random.randint(0, biggest_number)
15
16
        try:
17
            async for next_message, in self.loop_for('on_message'):
18
                if next_message.author.bot:
19
                    continue
20
21
                try:
22
                    guessed_number = int(next_message.content)
23
                except ValueError:
24
                    await channel.send(f"{next_message.content} is not a number. Try again!")
25
                    continue
26
27
                if guessed_number > number:
28
                    await channel.send("Number is too high!")
29
                elif guessed_number < number:
30
                    await channel.send("Number is too low!")
31
                else:
32
                    await next_message.react("🚀")
33
                    await channel.send("Number is correct!")
34
35
        except TimeoutError:
36
            channel.send("Game timed out")
37
38
39
if __name__ == "__main__":
40
    bot = Bot("XXXYOURBOTTOKENHEREXXX", intents=Intents.GUILD_MESSAGES)
41
    bot.run()
42