This repository was archived by the owner on Mar 14, 2021. It is now read-only.
-
-
Notifications
You must be signed in to change notification settings - Fork 15
Expand file tree
/
Copy pathsnakes.py
More file actions
108 lines (84 loc) · 3.43 KB
/
Copy pathsnakes.py
File metadata and controls
108 lines (84 loc) · 3.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# coding=utf-8
import json
import logging
import random
from typing import Any, Dict
from discord import Embed
from discord.ext.commands import AutoShardedBot, Context, command
log = logging.getLogger(__name__)
class Snakes:
"""
Snake-related commands
"""
def __init__(self, bot: AutoShardedBot):
self.bot = bot
async def get_snek(self, name: str = None) -> Dict[str, Any]:
with open('bot/db/snakes.json', 'r') as file:
snakes_dict = json.load(file)
if name is None or len(name) == 0:
_, snake_info = random.choice(list(snakes_dict.items()))
elif len(name) > 0:
snake = snakes_dict[name.lower()]
if snake['name'] != "python":
snake_info = {
'name': snake['name'],
'description': snake['description'],
'location': snake['location'],
'venomous': snake['venomous'],
'image': snake['image']
}
else:
snake_info = {
'name': snake['name'],
'description': snake['description'],
'creator': snake['creator'],
'created': snake['created'],
'image': snake['image']
}
return snake_info
@command(name='get')
async def get(self, ctx: Context, name: str = None):
"""
Shows information on different snakes.
"""
snake_info = await self.get_snek(name)
embed = Embed(
title=snake_info['name'].title(),
description=snake_info['description']
)
if snake_info['name'] != "python":
embed.add_field(name="Where can you find them?", value=snake_info['location'])
embed.add_field(name="Are they venomous?", value=snake_info['venomous'])
embed.set_image(url=snake_info['image'])
else:
embed.add_field(name="Who created it?", value=snake_info['creator'])
embed.add_field(name="When was it created?", value=snake_info['created'])
embed.set_thumbnail(url=snake_info['image'])
await ctx.send(embed=embed)
@command(name='movies')
async def movies(self, ctx: Context, movie_name: str = None):
"""
Shows 5 snake movies. Warning: They are all pretty bad.
"""
with open('bot/db/movies.json', 'r') as file:
movies_dict = json.load(file)
if movie_name is None or len(movie_name) == 0:
embed = Embed(
title="Snake Movies",
description="A list of snake movies.",
)
for movie in movies_dict.values():
embed.add_field(name=movie['title'], value=f"bot.movies('{movie['title'].lower()}')\n\n")
embed.set_thumbnail(url="https://i.imgur.com/dB38NwN.png")
elif len(movie_name) > 0:
embed = Embed(
title=movies_dict[movie_name]['title'],
description=movies_dict[movie_name]['description']
)
embed.add_field(name="Director", value=movies_dict[movie_name]['director'])
embed.add_field(name="Release Date", value=movies_dict[movie_name]['released'])
embed.set_image(url=movies_dict[movie_name]['image'])
await ctx.send(embed=embed)
def setup(bot):
bot.add_cog(Snakes(bot))
log.info("Cog loaded: Snakes")