maple/bot_maple.py
2022-08-13 18:46:50 -05:00

83 lines
4.0 KiB
Python

# -*- coding: utf-8 -*- ############################################################### SOF
import irc3,os,threading,asyncio,ipdb
from time import sleep
from plugins.tool_dims_plugin import dims
from plugins.tool_guds_plugin import guds
from plugins.net_irc_plugin import config_ircbot, start_ircbot
from plugins.tool_bus_plugin import BUS
from nio import AsyncClient, MatrixRoom, RoomMessageText
from plugins.net_matrix_plugin import start_matrixbot
from plugins.net_discord_plugin import start_discordbot
# from plugins.net_irc_plugin import d_irc_msg
# from plugins.net_matrix_plugin import d_matrix_msg
from plugins.tool_colors_plugin import colorform as print
##################################################channel##################################
class BOTIO:
#######################################################################################
verbosity=True
log_exit_level=[]
loop=asyncio.get_event_loop()
#######################################################################################
def __init__(self):
print(f'<<< ________botio_class >>> [ instantiated ]')
self.ircbot=config_ircbot()
self._bio=guds.memory('__main__.bio')
self.net_irc=[]
self.net_matrix=[]
self.net_discord=[]
print(f'<<< ________botio_class >>> [ ircbot configured ]')
#######################################################################################
def __boot__irc(self):
print('<<< system_status__info >>> [ booting connection ] - irc')
self=start_ircbot(self)
#######################################################################################
def __boot__matrix(self):
print('<<< system_status__info >>> [ booting connection ] - matrix')
self=start_matrixbot(self)
#######################################################################################
def __boot__discord(self):
print('<<< system_status__info >>> [ booting connection ] - discord')
self=start_discordbot(self)
#######################################################################################
def __boot__empty(self):
print('<<< system_status__info >>> [ booting connection ] - empty')
#######################################################################################
def __main__(self,index):
counter=0
if index==0:
t=threading.Thread(target=self.__boot__irc)
print(f'<<< system_status__info >>> [ thread setup ] - irc')
t.start()
print(f'<<< system_status__info >>> [ thread started ] - irc')
elif index==1:
t=threading.Thread(target=self.__boot__matrix)
print(f'<<< system_status__info >>> [ thread setup ] - matrix')
t.start()
t.join()
print(f'<<< system_status__info >>> [ thread started ] - matrix')
elif index==2:
t=threading.Thread(target=self.__boot__discord)
print(f'<<< system_status__info >>> [ thread setup ] - discord')
t.start()
t.join()
print(f'<<< system_status__info >>> [ thread started ] - discord')
elif index==3:
t=threading.Thread(target=self.__boot__empty)
print(f'<<< system_status__info >>> [ thread setup ] - empty')
t.start()
print(f'<<< system_status__info >>> [ thread started ] - empty')
###########################################################################################
if __name__ == '__main__':
print('<<< system_status__info >>> [ main loop ] - startup')
bio=BOTIO()
globals()['guds'].memories.append([bio,'maple:__main__.bio'])
for i in range(3):
bio.log_exit_level.append(bio.__main__(i))
counter=0
while True:
counter+=1
if counter<=15:
print(f'<<< system_status__info >>> [ eventloop idler thread ] - not ready - system locked for {str(counter).zfill(2)}/15 seconds')
if counter==16:
print(f'<<< system_status__info >>> [ eventloop idler thread ] - system ready')
sleep(1)