Commited backup

This commit is contained in:
2025-07-10 21:02:34 +03:00
parent 952c1001e3
commit da0b80823e
1310 changed files with 254133 additions and 41 deletions

View File

@@ -0,0 +1,174 @@
from hikkatl.types import Message
from .. import loader, utils
import random
from ..inline.types import InlineCall
"""
███ ███ ██ ██ ██████ ██ ██ ██ ██████ ███████ ███████
████ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ████ ██ ██ ██ ██████ ██ ██ ██ ██ ██ ███████ █████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ██████ ██ ██ ██████ ███████ ██████ ███████ ███████
HTTPCat
📜 Licensed under the GNU AGPLv3
"""
# meta banner: https://0x0.st/HYVb.jpg
# meta desc: desc
# meta developer: @BruhHikkaModules
@loader.tds
class HTTPCat(loader.Module):
"""Funny images with HTTP statuses"""
strings = {"name": "HTTPCat", "cat": "Here's your {} cat.", "update": "Update"}
strings_ru = {"cat": "Вот тебе твой {} кот.", "update": "Обновить"}
def __init__(self):
self.api = "https://http.cat/"
self.httpstatuses = {
"1xx": [100, 101, 102, 103],
"2xx": [
200,
201,
202,
203,
204,
205,
206,
207,
208,
226,
],
"3xx": [
300,
301,
302,
303,
304,
305,
307,
308,
],
"4xx": [
400,
401,
402,
403,
404,
405,
406,
407,
408,
409,
410,
411,
412,
413,
414,
415,
416,
417,
418,
420,
421,
422,
423,
424,
425,
426,
428,
429,
431,
444,
450,
451,
497,
498,
499,
],
"5xx": [
500,
501,
502,
503,
504,
506,
507,
508,
509,
510,
511,
521,
522,
523,
525,
530,
599,
],
}
@loader.command(
ru_doc=" [HTTP Статус / Ничего] - Получить картинку с котом и HTTP кодом",
)
async def gethttpcat(self, message: Message):
"""[HTTP Status / HTTP Status group (ex. 4xx, 3xx) / Nothing] - Get picture with cat and HTTP code"""
reply_markup = [
[
{"text": f"🔄 {self.strings['update']}", "callback": self.update},
{"text": "❌ Close", "action": "close"},
]
]
args = utils.get_args_raw(message)
if not args:
code = str(
random.choice(
[
value
for sublist in self.httpstatuses.values()
for value in sublist
]
)
)
await self.inline.form(
text=self.strings["cat"].format(code),
photo=self.api + code + ".jpg",
message=message,
reply_markup=reply_markup,
)
else:
await self.inline.form(
text=self.strings["cat"].format(str(args)),
photo=self.api + str(args) + ".jpg",
message=message,
reply_markup=reply_markup,
)
# why jpg at end? to make sure that telegram sends it correctly.
async def update(self, call: InlineCall):
reply_markup = [
[
{"text": f"🔁 {self.strings['update']}", "callback": self.update},
{"text": "❌ Close", "action": "close"},
]
]
code = str(
random.choice(
[value for sublist in self.httpstatuses.values() for value in sublist]
)
)
await call.edit(
photo=self.api + code + ".jpg",
text=self.strings["cat"].format(code),
reply_markup=reply_markup,
)