Added logic to handle commands
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
import asyncio
|
||||
from typing import Optional
|
||||
|
||||
from cpl_core.application import ApplicationBuilder
|
||||
|
||||
@@ -6,12 +7,24 @@ from discord_bot.application import Application
|
||||
from discord_bot.startup import Startup
|
||||
|
||||
|
||||
async def main():
|
||||
app_builder = ApplicationBuilder(Application)
|
||||
app_builder.use_startup(Startup)
|
||||
app: Application = await app_builder.build_async()
|
||||
await app.run_async()
|
||||
class Main:
|
||||
|
||||
def __init__(self):
|
||||
self._app: Optional[Application] = None
|
||||
|
||||
async def main(self):
|
||||
app_builder = ApplicationBuilder(Application)
|
||||
app_builder.use_startup(Startup)
|
||||
self._app: Application = await app_builder.build_async()
|
||||
await self._app.run_async()
|
||||
|
||||
async def stop(self):
|
||||
await self._app.stop_async()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
asyncio.run(main())
|
||||
main = Main()
|
||||
try:
|
||||
asyncio.run(main.main())
|
||||
except KeyboardInterrupt:
|
||||
asyncio.run(main.stop())
|
||||
|
||||
@@ -3,9 +3,10 @@ from cpl_core.configuration import ConfigurationABC
|
||||
from cpl_core.dependency_injection import ServiceProviderABC, ServiceCollectionABC
|
||||
from cpl_core.environment import ApplicationEnvironment
|
||||
from cpl_discord import get_discord_collection
|
||||
from cpl_discord.event_types_enum import EventTypesEnum
|
||||
from cpl_discord.discord_event_types_enum import DiscordEventTypesEnum
|
||||
from modules.hello_world.on_ready_event import OnReadyEvent
|
||||
from modules.hello_world.on_ready_test_event import OnReadyTestEvent
|
||||
from modules.hello_world.ping_command import PingCommand
|
||||
|
||||
|
||||
class Startup(StartupABC):
|
||||
@@ -24,7 +25,8 @@ class Startup(StartupABC):
|
||||
services.add_logging()
|
||||
services.add_discord()
|
||||
dc_collection = get_discord_collection(services)
|
||||
dc_collection.add_event(EventTypesEnum.on_ready.value, OnReadyEvent)
|
||||
dc_collection.add_event(EventTypesEnum.on_ready.value, OnReadyTestEvent)
|
||||
dc_collection.add_event(DiscordEventTypesEnum.on_ready.value, OnReadyEvent)
|
||||
dc_collection.add_event(DiscordEventTypesEnum.on_ready.value, OnReadyTestEvent)
|
||||
dc_collection.add_command(PingCommand)
|
||||
|
||||
return services.build_service_provider()
|
||||
|
||||
Reference in New Issue
Block a user