-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmessage_viewer.py
More file actions
75 lines (62 loc) · 2.6 KB
/
message_viewer.py
File metadata and controls
75 lines (62 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
"""Module importing scratchattach to use for the projrct"""
import os
import sys
import time
import warnings
import logging
import scratchattach as scratch3
from warnings import deprecated
from scratchattach import Encoding
warnings.filterwarnings('ignore', category=scratch3.LoginDataWarning)
logging.basicConfig(level=logging.WARNING)
logging.captureWarnings(True)
passwrd = os.environ.get('PASS')
session = scratch3.login("Boss_1sALT", passwrd)
cloud = session.connect_cloud("1054907254") #replace with your project id
client = cloud.requests()
connected: bool = False
@client.request
def message_ping(argument1):
"Main client request"
os.system(f"echo Message Count requested for {argument1}")
user = scratch3.get_user(argument1)
mc = user.message_count()
os.system(f"echo Message Count read: {mc}")
return mc
@client.event
def on_ready():
"Runs when client is ready."
os.system("echo Request handler is running")
@client.event
def on_connect():
connected = True
clt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
tsutc = time.time()
os.system("echo Connected.")
os.system(f"Local Time CDT {clt}, timestamp {tsutc}")
@client.event
def on_disconnect():
connected = False
logging.WARNING("WARNING! You have been disconnected from the cloud"+
". Cloud requests may not work. If this happens repeatedly,"+
" Scratch's cloud system may be down.",
RuntimeWarning)
clt = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
tsutc = time.time()
os.system(f"Local Time CDT {clt}, timestamp {tsutc}")
@client.event
def on_error(request, e):
"Runs when client runs into error"
os.system(f"echo Request: {request.request.name} {request.requester} {request.arguments} {request.timestamp} {request.request_id}")
os.system(f"echo Error that occured: {e}")
@client.event
def on_request(request):
"Runs when client receives request"
os.system(f"echo Received Request: {request.request.name} {request.requester} {request.arguments} {request.timestamp} {request.request_id}")
@client.event
def on_unknown_request(request):
"Runs when client receives unknown request"
os.system(f"echo Received unknown request: {request.request.name} {request.requester} {request.arguments} {request.timestamp} {request.request_id}\n"+
"echo Check the project and/or script to ensure there are no spelling errors, mistakes, etc. If the request seems suspicious, stop all backend jobs "+
"immediately.")
client.start(thread=True) #make sure this is ALWAYS at the bottom of your Python file