Files
krekbot-support/CoreSub.py

225 lines
12 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import disnake
from disnake.ext import commands
import asyncio
import datetime
import sys
from data.secrets.TOKEN import token
class Bot(commands.Bot):
def __init__(self):
super().__init__(
command_prefix="=",
intents=disnake.Intents.all()
)
self.shutdown_flag = asyncio.Event()
async def on_ready(self):
self.krekchat = await self.fetch_guild(490445877903622144)
print(self.krekchat.name)
await self.change_presence(status=disnake.Status.online, activity=disnake.Game("Работаю"))
print(f"{datetime.datetime.now().strftime('%H:%M:%S %d-%m-%Y')}:: KrekSupportBot activated")
await self.send_navigation()
self.shutdown_flag.set()
class embed(disnake.Embed):
def __init__(self, **kwargs):
color = kwargs.pop('color', 0x944509)
super().__init__(color = color, **kwargs)
async def send_navigation(self):
navigation_channel = await self.krekchat.fetch_channel(1398723447399387247)
embeds = [
self.embed(
description = """
## <a:PEDRO:1355201132493934675> Доброе утро!
### Приветствуем вас на нашем сервере! Всю информацию о каналах и основных ролях можете прочитать ниже, приятного общения!
"""
),
self.embed(
description = """
## ❓Самое важное
🆘 Если нужна помощь по игре: <#649314697425846272>
🛠️ Все сборки <@337903497401991191>: <#972728715001860136>
📨 Если вам есть, что предложить для новых сборок: <#1120010260392980614>
"""
),
[
self.embed(
description = """
## 🖼️Каналы
**<a:NOTED:1355201092857626745> Информация** - в этой категории можете прочитать правила, информацию про каналы и другую полезную информацию
- <#1398723447399387247> - сейчас здесь вы, а вообще тут находится информация о каналах и ролях
- <#902889096500879381> - законы полей, нарушение которых карается модераторами
- <#1399171657914122411> - выберите себе нужные роли, чтобы получать уведомления о событиях <:A_risworld_rislove:759009763840622622>
- <#972728715001860136> - сборки <@337903497401991191>
**<:A_rimworld_boberattack:833646119753220106> Анонсы** - категория, чтобы задалбывать вас пингами)
- <#490741071148482571> - анонсы стримов
- <#1362002259268866118> - анонсы shorts
- <#1362002365456322711> - анонсы видосов
- <#972728495715282974> - расписание стримов (хотя уже хрен его знает)
- <#495560753739333653> - новости нашего сервера/крупные обновления
- <#1230509877990920293> - оповещения о всяких событиях в нашем сообществе
- <#1229756650584543242> - Новости в сообществе игры
- <#867817959560183838> - Приветствие новичков на сервере
**📫 Форумы** - форумы xD
- <#1025717277502492682> - Любые обсуждалки по серверу
**✨Турнир RuinShip** - каналы для турнира Ruin Ship
- <#1399856075519561839> - пока что тут анонс турнира, а потом будет вся информация и правила
**💬 Krek4at** - каналы, которые не подходят больше ни в какую категорию
- <#508324056114659330> - разговоры на любые темы
- <#773254530607480853> - канал для команд ботов
- <#1399166057477963777> - канал для ваших интересных генераций ИИ вроде артов, интересных текстов и т.д.
**👑 Премиальная зона** - группа каналов, которая открывается только за особые заслуги или спонсорство печеньки
- <#713658206026727447> - чат для знати, чтобы обсуждать свои богатые штуки
- <#872816555002564668> - тут мы иногда смотрим аниме и проводим другие мероприятия "для своих"
**⭐ Rimworld** - основные каналы по игре для обсуждений
- <#948623886491209768> - разговоры о rimworld
- <#649314697425846272> - решение ваших проблем, связанных с игрой
- <#1399163680586858617> - рассказывайте про всякие абузы и обсуждайте душные механики
- <#868201998615449610> - кидайте и обсуждайте крутые моды и сборки
- <#1120010260392980614> - предлагайте моды для следующих сборок <@337903497401991191>
- <#1382375264750801006> - канал для буллинга Халф Хенда, можете требовать от него фурри сборку и кидать сюда моды для неё
"""
),
self.embed(
description = """
**📝 Стол rimследований** - каналы для ваших исследований и экспериментов
- <#948616631976861746> - поделись или скачай идеологию
- <#1219934356685193226> - поделись или скачай ксенотип
- <#1220562235034960004> - поделись или скачай поселение
- <#1291819470628851884> - поделись или скачай грави-корабль
- <#981933817084399676> - поделись или скачай сценарий
- <#981933780128399390> - поделись или скачай челленджи <:Krek_cry:893465952576995358>
**🎤 Трибунный зал** - категория, которая используется раз в тысячу лет для крупных мероприятий
**📞Консоль связи** - категория с голосовыми каналами
- <#501706647203479554> - тут используются музыкальные боты
- <#495567126980067330> - "канал в который нужен заходить, чтобы мурчать, хз чего тут непонятного)" © <@337903497401991191>
- <#949266405759545366> - для просмотра фильмо, аниме и т.п.
- <#948933296434323516> - для проведения игр, ивентов и т.п.
- <#948926039017541662> - канал общего назначения
- <#1026750731274960927> - для уединения с кем-то можете использовать его
**<a:KrekTruba:1355201119516885136> Комната отдыха** - группа каналов, в которых вы можете отдохнуть, посмеяться и выложить смешнявку
- <#506642505601646592> - кидайте сюда свои рисунки
- <#1227695467161194557> - если кто слопал чего-то вкусного или приготовил, то можете поделиться этим в данном канале!
- <#596268078786936852> - кидайте сюда самые лучшие мемы и тех, что смогли вырвать из других источников)
- <#1028360533935669319> - то же, что и <#596268078786936852>, но тема - "rimworld"
- <#766890021092458506> - локальные мемы со стримов или из жизни сервера<:A_risworld_rislove:759009763840622622>
- <#867442322693554177> - кидайте сюда смешные моменты со стримов!
**<a:AnimatedA_ThisIsFine:982563794133852220> Развитие колонии** - категория с каналами для ваших идей и предложений
- <#1033802140667363389> - кидайте сюда свои идеи по улушению сервера, стримов или ивентов для стрима
**🕯️ архив** - ниже этой категории все каналы и категории, которые использовались когда-то на очень важных мероприятиях и были сохранены для исторического наследия сервера
"""
)
],
self.embed(
description = """
## 🖼️Роли
**🍘 Печеньковый бот**
<@887925722084171809> - Через него можно отправить жалобу на участника :3
**<a:KrekSisyphus:1355201125678059702> Руководство и модерация**
- <@&490714020068720640> - стример и по совместительству ~~рабо~~владелец сервера
- <@&887696340920963072> - разработчик ботов
- <@&490712205445169162> - главные модераторы
- <@&490712181927837722> - модераторы
- <@&1229765545310818377> - люди, трудящиеся во благо сервера
**🏆 Ранговые роли**
- <@&1379836872653799515> - появляется с 1 до 4 уровня
- <@&1379837914837549197> - появляется с 5 до 54 уровня
- <@&1379838164394577980> - появляется с 55 до 90 уровня
- <@&490707634710642700> - появляется с 91 уровня
-# Свой уровень можете посмотреть в <#773254530607480853> по команде `/профиль`
**🌟 Особые роли**
- <@&926021742151999509> - невероятные люди этого сервера, которые позволяют Олегу быть безработным и делать нам контент<:A_risworld_rislove:759009763840622622>
- <@&490712087438557214> - друзья стримера
- <@&513366087098695704> - заставшие рождение сервера
-# Тут перечислены только основные роли; Чтобы получить информацию о других ролях, достаточно в канале <#773254530607480853> использовать команду `/роль инфо <роль>`
"""
),
self.embed(
description = """
## 🔗Полезные ссылки
**📽️ Стримы и видео**
- YouTube: https://www.youtube.com/channel/UC1bAC9hbVc-hnDwIAuHsDRg
- Twitch: https://www.twitch.tv/krekeross
- Boosty: https://boosty.to/krekeross
**📌 Информация**
- Сборки модов + Пиратки: https://clck.ru/ehmjn
- Донат ивенты в Rimworld: https://clck.ru/ehmjS
- Правила общения в чате на стримах: https://goo.su/ukKK6
- Сборка ПК стримера: https://goo.su/PAwUs
- Команды в чате для стрима: https://goo.su/MAw2R
**🗂️ Другое**
- Личный VK — https://vk.com/id233539660
- Steam — https://steamcommunity.com/id/KrekerShow/
- Krek4at — https://discord.gg/krek4at
- Телеграмм - Подвал Krek4at'a — https://t.me/Krek4at
- TikTok?!" — https://www.tiktok.com/@krekeross
"""
),
self.embed(
description = """
Если остались вопросы, можете обращаться к модераторам или администраторам за помощью<:A_risworld_rislove:759009763840622622>
"""
)
]
await navigation_channel.purge(limit=len(embeds)+1)
#await navigation_channel.send("", embeds=embeds)
webhooks = await navigation_channel.webhooks()
webhook = webhooks[0]
for embed in embeds:
if isinstance(embed, list):
await webhook.send("", embeds=embed, username="Навигатор")
else:
await webhook.send("", embed=embed, username="Навигатор")
async def main():
bot = Bot()
try:
bot_task = asyncio.create_task(bot.start(token))
await bot.shutdown_flag.wait()
if not bot.is_closed():
await bot.close()
await bot_task
except KeyboardInterrupt:
if not bot.is_closed():
await bot.close()
finally:
print("Программа завершена")
if __name__ == "__main__":
try:
asyncio.run(main())
except KeyboardInterrupt:
pass