Update sweebot.py

This commit is contained in:
Nova Cat 2025-03-11 15:40:46 -07:00
parent 22d74d7f1f
commit 67ced4e7bf

View file

@ -1,4 +1,4 @@
__version__ = "1.0.1 AI update" + ". https://git.swee.codes/swee/MeowNex" __version__ = "1.0.2 DOcker-SHELL update" + ". https://git.swee.codes/swee/MeowNex"
import socket import socket
import subprocess import subprocess
from time import sleep, time, ctime from time import sleep, time, ctime
@ -17,6 +17,8 @@ from googleapiclient.discovery import build
import uuid import uuid
import ssl import ssl
import requests import requests
import docker
dock = docker.from_env()
global lastquery global lastquery
AIurl = environ["AIurl"] AIurl = environ["AIurl"]
AIsession = requests.Session() AIsession = requests.Session()
@ -60,7 +62,7 @@ def ai_response_truncate(uuidd):
else: else:
abrt(404) abrt(404)
threading.Thread(target=app.run, daemon=True, kwargs={"port": 2005}).start() threading.Thread(target=app.run, daemon=True, kwargs={"port": 2005}).start()
cntr = None
# YouTube API # YouTube API
DEVELOPER_KEY = environ["ytapi"] DEVELOPER_KEY = environ["ytapi"]
headers = { headers = {
@ -663,7 +665,31 @@ while True:
irc.send_irc(channel, nick + ": Permission denied.") irc.send_irc(channel, nick + ": Permission denied.")
block+=1 block+=1
run-=1 run-=1
elif command[0] == "$dopull":
irc.send_irc(channel, nick + ":[...] Please wait, pulling docker image...")
image = dock.images.pull('alpine')
irc.send_irc(channel, nick + ":[OK] Pulled docker image, running command now.")
elif command[0] == "$doshell":
if len(command) > 1:
try:
if cntr == None:
cntr = dock.containers.run('alpine', "/bin/ash", detach=True, tty=True)
_, stream = cntr.exec_run(cmd=" ".join(command[1:]))
multiline(stream, channel)
except Exception as ex:
irc.send_irc(channel, nick + ":[ERR] Traceback:")
multiline(traceback.format_exc(), channel)
else:
irc.send_irc(channel, nick + ":[ERR] ")
elif command[0] == "$doreset":
if cntr == None:
irc.send_irc(channel, nick + ":[OK] No container is loaded yet.")
else:
cntr.remove()
cntr = None
irc.send_irc(channel, nick + ":[OK] Done.")
elif command[0] == "$version": elif command[0] == "$version":
irc.send_irc(channel, "This is MeowNexUS IRC " + __version__) irc.send_irc(channel, "This is MeowNexUS IRC " + __version__)