From cd7462474761ecfed40e82d77a36618d3833c4b5 Mon Sep 17 00:00:00 2001 From: Rich Oberholtzer Date: Wed, 1 Jul 2020 08:58:15 -0400 Subject: [PATCH 1/4] added iran sound clip --- r0b3bot.py | 7 +++++++ sounds/iran.mp3 | Bin 0 -> 64782 bytes 2 files changed, 7 insertions(+) create mode 100644 sounds/iran.mp3 diff --git a/r0b3bot.py b/r0b3bot.py index 6245f62..67d0a50 100644 --- a/r0b3bot.py +++ b/r0b3bot.py @@ -226,6 +226,11 @@ async def yaw(ctx, member : discord.Member="NONE"): async def heavy(ctx, member : discord.Member="NONE"): await play_sound(ctx, member, "./sounds/heavy.mp3", "$heavy", 6) +@bot.command() +@commands.cooldown(rate=1, per=10.0, type=commands.BucketType.user) +async def iran(ctx, member : discord.Member="NONE"): + await play_sound(ctx, member, "./sounds/iran.mp3", "$iran", 4) + @bot.command() @commands.cooldown(rate=1, per=10.0, type=commands.BucketType.user) async def rs(ctx, member : discord.Member="NONE"): @@ -912,6 +917,8 @@ async def help(ctx): embed.add_field(name=f"{BOT_COMMAND_PREFIX}trololo @member", value="Plays a clip of Trololo song", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}leeroy @member", value="Plays Leeeerrroooyyy Jenkins clip", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}eia @member", value="Plays 'Everything is Awesome' song clip") + embed.add_field(name=f"{BOT_COMMAND_PREFIX}heavy @member", value="Plays 'Poppy ooo heavy'") + embed.add_field(name=f"{BOT_COMMAND_PREFIX}iran @member", value="Plays 'Trump 'I Ran'") embed.add_field(name=f"{BOT_COMMAND_PREFIX}info", value="Gives a little info about the bot", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}help", value="Gives this message", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}last_error", value="Will display the real error message the bot has last encountered for additional debugging info") diff --git a/sounds/iran.mp3 b/sounds/iran.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..a9d5760e8542376413bcd7feebc7e6253399a5ee GIT binary patch literal 64782 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 a2`V~d3h|PJ8J2qYzrE-G|Nj5-3H%Q)$H7DZ literal 0 HcmV?d00001 -- 2.39.5 From 520758e2f20fc0de609db5d2724f9db1e1e16155 Mon Sep 17 00:00:00 2001 From: Rich Oberholtzer Date: Wed, 1 Jul 2020 09:10:58 -0400 Subject: [PATCH 2/4] Added Wiz Khalifa clip $big --- r0b3bot.py | 8 +++++++- sounds/big.mp3 | Bin 0 -> 42212 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 sounds/big.mp3 diff --git a/r0b3bot.py b/r0b3bot.py index 67d0a50..ec4a367 100644 --- a/r0b3bot.py +++ b/r0b3bot.py @@ -231,6 +231,11 @@ async def heavy(ctx, member : discord.Member="NONE"): async def iran(ctx, member : discord.Member="NONE"): await play_sound(ctx, member, "./sounds/iran.mp3", "$iran", 4) +@bot.command() +@commands.cooldown(rate=1, per=10.0, type=commands.BucketType.user) +async def big(ctx, member : discord.Member="NONE"): + await play_sound(ctx, member, "./sounds/big.mp3", "$big", 4) + @bot.command() @commands.cooldown(rate=1, per=10.0, type=commands.BucketType.user) async def rs(ctx, member : discord.Member="NONE"): @@ -918,7 +923,8 @@ async def help(ctx): embed.add_field(name=f"{BOT_COMMAND_PREFIX}leeroy @member", value="Plays Leeeerrroooyyy Jenkins clip", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}eia @member", value="Plays 'Everything is Awesome' song clip") embed.add_field(name=f"{BOT_COMMAND_PREFIX}heavy @member", value="Plays 'Poppy ooo heavy'") - embed.add_field(name=f"{BOT_COMMAND_PREFIX}iran @member", value="Plays 'Trump 'I Ran'") + embed.add_field(name=f"{BOT_COMMAND_PREFIX}iran @member", value="Plays Trump 'I Ran'") + embed.add_field(name=f"{BOT_COMMAND_PREFIX}big @member", value="Plays 'Wiz Khalifa clip'") embed.add_field(name=f"{BOT_COMMAND_PREFIX}info", value="Gives a little info about the bot", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}help", value="Gives this message", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}last_error", value="Will display the real error message the bot has last encountered for additional debugging info") diff --git a/sounds/big.mp3 b/sounds/big.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..3a45af80f22b818103582d590cf2e65b991f6e13 GIT binary patch literal 42212 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 Jp#S9y{0|-9TJZn? literal 0 HcmV?d00001 -- 2.39.5 From 6865041707372ce2753e8b7fd72e5bc6eee638d8 Mon Sep 17 00:00:00 2001 From: Rich Oberholtzer Date: Wed, 2 Sep 2020 09:47:06 -0400 Subject: [PATCH 3/4] Added missing playtime value for rs command --- r0b3bot.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/r0b3bot.py b/r0b3bot.py index ec4a367..300ebd6 100644 --- a/r0b3bot.py +++ b/r0b3bot.py @@ -243,7 +243,7 @@ async def rs(ctx, member : discord.Member="NONE"): datestring = datestring.strftime("%m/%d/%Y-%H:%M:%S") if ctx.message.channel.is_nsfw(): soundfiles = ["./sounds/leeroy.mp3","./sounds/monkey_bitch.mp3","./sounds/More_cowbell.mp3","./sounds/BoomBitch.mp3","./sounds/Promoted.mp3","./sounds/Trololo.mp3","./sounds/Oops.mp3"] - await play_sound(ctx, member, random.choice(soundfiles), "$rs") + await play_sound(ctx, member, random.choice(soundfiles), "$rs", 6) else: print(f"[{datestring}]: {ctx.message.author.display_name} called $rs, but is not in a NSFW channel") await ctx.send("This command is too explicit for you!") -- 2.39.5 From 66ed4fd4d1e662500805675e7102fb5f226dfc7d Mon Sep 17 00:00:00 2001 From: Rich O Date: Sun, 21 Mar 2021 23:29:07 +0000 Subject: [PATCH 4/4] Merge MMR Checker into Dev --- README.md | 3 +- bot_config.conf.example | 6 +- r0b3bot.py | 456 ++++++++++++++++++++++++++++++++-------- 3 files changed, 379 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index aadc5a8..bf2b36b 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ This is R0b3's Discord Bot. It's creation was basically a challenge posed a cow * Query serivces states on StatPing using the `$spstatus` * Use `$spsub` to "Subscribe" to service change alerts for StatPing services. Subscribed alerts are persistent and are not lost on bot restart.
![Example service alert](images/Service_alert.png) +* Use `$mmrsub` to "Subscribe" to a League of Legends handle's Ranked Average. As with the StatPing feature, the subscriptions are persistent. * Play a selection of sound clips to voice channel members using the various commands (`$torololo`, `$oops`, `$promoted`, etc) # Commands @@ -24,4 +25,4 @@ This is R0b3's Discord Bot. It's creation was basically a challenge posed a cow 1. Create a Discord Bot via Developer tools
2. Enter configuration parameters in bot_config.conf.example
3. Enter OctoPrint config parameters in octoapi.conf.example
-4. Rename *.example files as *.conf
\ No newline at end of file +4. Rename *.example files as *.conf and setup your config
diff --git a/bot_config.conf.example b/bot_config.conf.example index af77115..a894807 100644 --- a/bot_config.conf.example +++ b/bot_config.conf.example @@ -17,5 +17,9 @@ hass_url = hass_token = hass_light = octoprint_ip_address = +statping_enable = statping_url = -statping_api_key = \ No newline at end of file +statping_api_key = +mmr_checker_enable = +mmr_checker_interval = +mmr_api_url = diff --git a/r0b3bot.py b/r0b3bot.py index 300ebd6..612ffb8 100644 --- a/r0b3bot.py +++ b/r0b3bot.py @@ -2,45 +2,47 @@ import discord from discord.ext import commands +from discord import FFmpegPCMAudio +from discord.utils import get +from discord.voice_client import VoiceClient +from datetime import datetime import urllib.request import random import os import sys import octoapi import time -from datetime import datetime import configparser import json -from discord import FFmpegPCMAudio -from discord.utils import get -from discord.voice_client import VoiceClient import requests import asyncio -#from aiofile import AIOFile import aiofiles as aiof import pickle - #Record the time the bot started start_time = time.time() config = configparser.RawConfigParser() configFilePath = r'bot_config.conf' -# Last error message variable used by $last_error command to display in discord -global last_error -last_error = "No errors have been recorded." - try: config.read(configFilePath) except: print("Error loading config! Please check config file 'bot-config.conf'") +# Last error message variable used by $last_error command to display in discord +global last_error +last_error = "No errors have been recorded." + # -# Read in bot configurations +# Assign bot config from setting in config file # -# Setup HomeAssistant URL and Headers +# Assign Bot core settings +DISCORD_AUTH_TOKEN = config.get('bot-config', 'discord_auth_token') +BOT_COMMAND_PREFIX = config.get('bot-config', 'bot_command_prefix') + +# 3D Printer Setup - HomeAssistant URL and Headers & OctoPrint HASS_TOKEN = config.get('bot-config', 'hass_token') HASS_URL = config.get('bot-config', 'hass_url') HASS_LIGHT = config.get('bot-config', 'hass_light') @@ -49,10 +51,10 @@ hassHEADERS = { 'Authorization': f"Bearer {HASS_TOKEN}", 'content-type': 'application/json', } - OCTOPRINT_IP_ADDRESS = config.get('bot-config', 'octoprint_ip_address') -DISCORD_AUTH_TOKEN = config.get('bot-config', 'discord_auth_token') -BOT_COMMAND_PREFIX = config.get('bot-config', 'bot_command_prefix') + +# StatPing Monitor Settings +statping_enable = config.get('bot-config', 'statping_enable') STATPING_URL = config.get('bot-config', 'statping_url') STATPING_API_KEY = config.get('bot-config', 'statping_api_key') statpingURL = STATPING_URL + "/api/services" @@ -61,27 +63,45 @@ statpingHEADERS = { 'content-type': 'application/json', } -# Configure bot +#MMR Checker Settings +mmr_checker_enable = config.get('bot-config', 'mmr_checker_enable') +mmr_checker_interval = config.get('bot-config', 'mmr_checker_interval') +mmrURLBASE = config.get('bot-config', 'mmr_api_url') +mmrHEADERS = { + 'User-Agent': 'Linux:com.r0b3bot:v.01a', + 'content-type': 'application/json', +} + +# Configure bot bot = commands.Bot(command_prefix=BOT_COMMAND_PREFIX, description='A derpy derp of a bot.') +bot.remove_command('help') # Printing configuration details to console -print(f"HomeAssistant URL: {hassURL}") -print(f"HomeAssistant URL HEADERS: {hassHEADERS}") -print(f"HomeAssistant Light: {HASS_LIGHT}") -print(f"OctoPrint IP Address: {OCTOPRINT_IP_ADDRESS}") -print(f"StatPing Server: {STATPING_URL}") -print(f"StatPing API Key: {STATPING_API_KEY}") -print(f"StatPing URL Headers: {statpingHEADERS}") +print("=== 3D Printer Status config ===") +print(f" HomeAssistant URL: {hassURL}") +print(f" HomeAssistant URL HEADERS: {hassHEADERS}") +print(f" HomeAssistant Light: {HASS_LIGHT}") +print(f" OctoPrint IP Address: {OCTOPRINT_IP_ADDRESS}") +print("\n=== StatPing Monitor Config ===") +print(f" Enabled: {statping_enable}") +print(f" Server: {STATPING_URL}") +print(f" API Key: {STATPING_API_KEY}") +print(f" URL Headers: {statpingHEADERS}") +print("\n=== MMR Checker Config ===") +print(f" Enabled: {mmr_checker_enable}") +print(f" Checker Interval: {mmr_checker_interval}") +print(f" API URL BASE: {mmrURLBASE}") # On Ready @bot.event async def on_ready(): + print("\n:::: Config Loaded ::::\n") print('Logged in as') - print(bot.user.name) - print(bot.user.id) - print('------') - print("Setting activity to 'Listenting to your commands'") - activity = discord.Activity(name="your $commands",type=discord.ActivityType.listening) + print(f" User: {bot.user.name}") + print(f" ID: {bot.user.id}") + print(f"\n\n") + print(f"Setting activity to 'Listenting to your {BOT_COMMAND_PREFIX}commands'") + activity = discord.Activity(name=f"your {BOT_COMMAND_PREFIX}commands",type=discord.ActivityType.listening) await bot.change_presence(activity=activity) @@ -89,11 +109,23 @@ async def on_ready(): runtime = time.time() - start_time if runtime <= 15: #Run StatPing_Monitor - print("Starting StatPing Monitor.") - await StatPing_Monitor() + if statping_enable == 'True': + print("Statping Monitor enabled, starting StatPing Monitor.") + await StatPing_Monitor() + + else: - print(f">> Bot has been running for more than {int(runtime)} seconds. Not restarting monitor.") + print(f">> Bot has been running for more than {int(runtime)} seconds. Not starting StatPing Monitor.") + + #Run MMR Montor + if runtime <= 15: + if mmr_checker_enable == 'True': + print("MMR Checker enabled, starting MMR Checker.") + await MMR_Monitor() + else: + print(f">> Bot has been running for more than {int(runtime)} seconds. Not starting MMR Checker.") + print(">> Startup complete.") @bot.command() async def greetings(ctx): @@ -535,7 +567,6 @@ async def updateStatus(): activity = discord.Activity(name="your commands",type=discord.ActivityType.listening) await bot.change_presence(activity=activity) - @bot.command() async def info(ctx): embed = discord.Embed(title="R0b3BOT", description="Derpy Derp of a Bot :P", color=0xeee657) @@ -570,15 +601,9 @@ async def info(ctx): embed.add_field(name="Source Code:", value="[R0b3Bot on Gitlab](https://gitlab.rickelobe.com/Bots/r0b3BOT)", inline=False) await ctx.send(embed=embed) -bot.remove_command('help') - @bot.command() async def spstatus(ctx, service = "NONE"): -#async def spalert(ctx, cmd = "NONE", arg = "NONE"): - # if cmd != "NONE": - # if cmd == "add": - # spalert += if service != "NONE": #await get_stp_status(ctx, service.lower()) @@ -596,8 +621,6 @@ async def spstatus(ctx, service = "NONE"): else: await ctx.send("Please speficy a service name to query.") - - @bot.command() async def spsub(ctx, service = "NONE"): @@ -846,45 +869,6 @@ async def StatPing_Monitor(): print(">> spsublist.dat does not exist, nothing to do.") await asyncio.sleep(60) - - -async def sp_monitor(sublist): - - # Checks the services listed in spsublist for status change - # Sublist is a list of 3 items: - # - ctx (used to send alert to channel) - # - service (the name of the service to check) - # - status string (last status of the service, either 'online' or 'offline') - - ctx = sublist[0] - - - while True: - - status = await get_stp_status(spsublist[1]) - if status['online'] and spsublist[2] == "online": - # nothing has changed, no alert needed - await asyncio.sleep(1) - elif not status['online'] and spsublist[2] == "offline": - # again, nothing has changed no alert needed - await asyncio.sleep(1) - else: - print(f"Status of {status['name']}' has changed") - if status['online']: - embed = discord.Embed(title=f"{status['name']} Service Alert", description=f"{spsublist[1]} is Online!", color=0x00ff40) - await ctx.send(embed=embed) - #await ctx.send(f"{spsublist[1]} is Online!") - spsublist[2] = "online" - elif not status['online']: - embed = discord.Embed(title=f"{status['name']} Service Alert", description=f"{spsublist[1]} is Offline!", color=0xff2200) - await ctx.send(embed=embed) - #await ctx.send(f"{spsublist[1]} is Offline!") - spsublist[2] = "offline" - else: - embed = discord.Embed(title=f"{status['name']} Service Alert", description=f"{spsublist[1]} is in an unknown state!", color=0xffff00) - await ctx.send(embed=embed) - #await ctx.send(f"Unknown state for service {spsublist[1]}") - await asyncio.sleep(60) async def get_stp_status(service): @@ -905,10 +889,309 @@ async def get_stp_status(service): if not found: return "service not found" +# +# Begin functions for MMR sub/alerts +# + +@bot.command() +async def mmrstatus(ctx, handle = "NONE"): + + print(f">> {BOT_COMMAND_PREFIX}mmrstatus was called for {handle}") + + if handle != "NONE": + + #await get_stp_status(ctx, service.lower()) + result = await get_mmr_status(handle) + + if result == "handle not found": + print(f">> {handle} was not found") + await ctx.send(f"'{handle}' was not found. Try wrapping handle in double quotes") + else: + print(f">> {handle} found!") + await ctx.send(f"'{handle}'s Ranked Average is: {result}") + + else: + print(f">> User did not speficy handle") + await ctx.send("Please speficy a service name to query.") + +@bot.command() +async def mmrsub(ctx, handle = "NONE"): + + mmrsublist = {} # MMR Subscription list to be read in from file + # Structure of spsublist nested dictionary + # spsublist[service name][list of channel ids][a state value] + # dict = {'Handle': {'AvgRank' : 'value', 'channels' : ['1232', '43234']} + # 'twtv iddosu2x' : {'AvgRank' : '1082', 'channels' : ['2343', '54563']}} + # + mmrcurrentsub_request = [] # list of elements detailing the current sub request + datestring = datetime.now() + datestring = datestring.strftime("%m/%d/%Y-%H:%M:%S") + + # replace _ with sapces + handle = handle.replace("_"," ") + + print(f"[{datestring}]: {ctx.message.author.display_name} called '$mmrsub '{handle}'''") + + # Only work on this if the user has supplied a service name to monitor, a value of NONE + # means nothing was specified + if handle != "NONE" and handle != "-list" and not handle.startswith('-del '): + + print(f">> Querying status of '{handle}' to see if it exists") + handle_state = await get_mmr_status(handle) + + if handle != "NONE": + + if handle == "-list": + # List the serivces that this channel is subscribed to + # Read in mmrsublist + mmrsublist = '' + async with aiof.open('mmrsublist.dat', 'rb') as datafile: + pickled_mmrsublist = await datafile.read() + sublist = pickle.loads(pickled_mmrsublist) + + for handle in sublist.keys(): + print(f"current handle: {handle}") + for channel in sublist[handle]['channels']: + print(f">> {channel}") + if channel == ctx.channel.id: + print(f">>>> {channel} == {ctx.channel.id}") + mmrsublist += f"'{handle}' " + + await ctx.send(f"This channel is subscribed to: {mmrsublist}") + + elif handle.startswith('-del:'): + # Delete the service from this channels subscriptions + handle_toremove = handle[5:] + print(f"{handle_toremove}") + + # Open the data file for read in + async with aiof.open('mmrsublist.dat', 'rb') as datafile: + pickled_mmrsublist = await datafile.read() + mmrsublist = pickle.loads(pickled_mmrsublist) + + # We haven't found either the channel or servic; mark as false + found_handle = False + found_channel = False + + # Iterate through the service names in the data + for handle in mmrsublist.keys(): + + # If the service we want to unsub from is the same as the service in the data, we need to search for the channel + if handle.lower() == handle_toremove.lower(): + + # We've found the service match, mark as true + found_handle = True + + # Iterate through the channels that are subbed to this service + for channel in mmrsublist[handle]['channels']: + + # If a channel listed in the service matches the current users channel id, we've found our match + if channel == ctx.channel.id: + + # Marking channel as found + found_channel = True + # Get the proper name of the service + handle_toremove = handle + #Remove the current users channel from this service + mmrsublist[handle]['channels'].remove(ctx.channel.id) + # Break since we're done. + break + + # If we got to the point of finding the channel, we're done. + if found_channel: + break + + if found_handle and found_channel: + print(">> Saving dictionary to mmrsublist.dat") + async with aiof.open('mmrsublist.dat', 'wb') as datafile: + pickled_mmrsublist = pickle.dumps(mmrsublist, protocol=4) + await datafile.write(pickled_mmrsublist) + #await datafile.fsync() + await datafile.flush() + await ctx.send(f"This channel is unsubscribed from '{handle}' alerts.") + else: + await ctx.send(f"This channel is not subscribed to alerts for '{handle_toremove}''") + + # If the service exists, proceed with adding it to the list. + elif handle_state != "handle not found": + + print(f">> '{handle}' is a valid Hanlde on Whatismymmr.com.") + print(f">> Checking if it has already been subscribed to") + #await ctx.send(f"'{service_state['name']}' added to monitored services") + mmrcurrentsub_request.append(ctx.channel.id) + mmrcurrentsub_request.append(handle) + mmrcurrentsub_request.append(handle_state) + print(f">> Channel ID: {mmrcurrentsub_request[0]}") + print(f">> Handle: {mmrcurrentsub_request[1]}") + print(f">> Current Ranked Average: {mmrcurrentsub_request[2]}") + + # read in data file containing dict of subscriptions + print(">> Checking for mmrsublist.dat") + if os.path.exists('mmrsublist.dat'): + + print(">> Data file exists, reading it in.") + # Read in mmrsublist + async with aiof.open('mmrsublist.dat', 'rb') as datafile: + pickled_mmrsublist = await datafile.read() + mmrsublist = pickle.loads(pickled_mmrsublist) + + print(f">> Checking if handle is already in datafile") + found_handle = False + found_channel = False + for handle in mmrsublist.keys(): + print(f">> Does '{handle}'' == '{mmrcurrentsub_request[1]}'?") + + if handle == mmrcurrentsub_request[1]: + found_handle = True + # This service matched what the user is trying to subscribe to + # Now we need to check if this is for the same channel + print(f">> Yes, checking if channel {mmrcurrentsub_request[0]} is already subscribed") + + for channel in mmrsublist[handle]['channels']: + if channel == mmrcurrentsub_request[0]: + print(f">> Channel ({mmrcurrentsub_request[0]}) is already subscribed to {handle}") + await ctx.send(f"This channel is already subscribed to {handle} alerts") + found_channel = True + break + if not found_channel: + # Append the current channel id to the list for this service + print(f">> Handle exists, channel not subbed, adding handle '{mmrcurrentsub_request[1]}' to {ctx.channel.id}") + await ctx.send(f"{handle} has been added to monitored handles for this channel") + mmrsublist[handle]['channels'].append(mmrcurrentsub_request[0]) + break + + if not found_handle: + # Append the current channel id to the list for this service + print(f">> Handle does not exist, adding new entry for '{mmrcurrentsub_request[1]}' to {ctx.channel.id}") + await ctx.send(f"{mmrcurrentsub_request[1]} has been added to monitored handle for this channel") + #newsub = {} + #newsub[currentsub_request[1]] = {'state' : 'online', 'channels' : [currentsub_request[0]]} + mmrsublist[mmrcurrentsub_request[1]] = {'AvgRank' : mmrcurrentsub_request[2], 'channels' : [mmrcurrentsub_request[0]]} + + else: + + print(">> mmrsublist.dat does not exist, new file will be created") + + # append new subscription to dict + print(">> Creating new dictionary") + mmrsublist[mmrcurrentsub_request[1]] = {'AvgRank' : mmrcurrentsub_request[2], 'channels' : [mmrcurrentsub_request[0]]} + print(f">> {handle} subscription has been saved") + await ctx.send(f"{handle} has been added to monitored handles for this channel") + + #Write updated array to data file + print(">> Saving dictionary to mmrsublist.dat") + async with aiof.open('mmrsublist.dat', 'wb') as datafile: + pickled_mmrsublist = pickle.dumps(mmrsublist, protocol=4) + await datafile.write(pickled_mmrsublist) + #await datafile.fsync() + await datafile.flush() + + print(">> Done") + #await ctx.send(f"'{service_state['name']}' added to monitored services") + + else: + print(f">> '{handle}' does not exist, cancelling subscription") + await ctx.send(f"{handle} was not found") + +async def get_mmr_status(mmrhandle): + + # Get MMR status status via API + #need to replace spaces with %20 before just inserting into URL + mmrhandle.replace(" ", "%20") + mmrURL = ''.join(mmrURLBASE) + mmrhandle + response = requests.get(mmrURL, headers=mmrHEADERS) + mmr_stats = json.loads(response.text) + + if "error" in mmr_stats: + return "handle not found" + + return mmr_stats['ranked']['avg'] + +async def MMR_Monitor(): + + # reads in "mmrsublist.dat" every 3 hours then iterates + # through to check for mmr status changes. This function will need to check + # that "spsublist.dat" exists and is not empty. This function should be called + # in bot.on_ready + + # read in data file containing list of subscriptions + while True: + print("MMR Monitor: Reading in mmrsublist.dat") + if os.path.exists('mmrsublist.dat'): + async with aiof.open('mmrsublist.dat', 'rb') as datafile: + pickled_mmrsublist = await datafile.read() + mmrsublist = pickle.loads(pickled_mmrsublist) + + for handle in mmrsublist.keys(): + # service used to be subscription + status = await get_mmr_status(handle) + print(f"{handle} | {mmrsublist[handle]}") + print(f">> '{handle}'s Average Rank: {status} | Previous state: {mmrsublist[handle]['AvgRank']}") + if status != 'handle not found': + if status == mmrsublist[handle]['AvgRank']: + + # nothing has changed, no alert needed + await asyncio.sleep(1) + elif not status != mmrsublist[handle]['AvgRank']: + + # again, nothing has changed no alert needed + await asyncio.sleep(1) + else: + + print(f">> Status of '{handle}' has changed, notifying subscribed channels") + + if status > mmrsublist[handle]['AvgRank']: + mmrsublist[handle]['AvgRank'] = status + for channel in mmrsublist[handle]['channels']: + ctx = bot.get_channel(channel) + print(f">> Alerting {ctx} that '{handle}'s Average Rank has Increased!") + embed = discord.Embed(title=f"MMR Alert", description=f"{handle}'s ranked average increased to {status}!", color=0x00ff40) + await ctx.send(embed=embed) + + elif status < mmrsublist[handle]['AvgRank']: + mmrsublist[handle]['AvgRank'] = status + for channel in mmrsublist[handle]['channels']: + ctx = bot.get_channel(channel) + print(f">> Alerting {ctx} that '{handle}'s Average Rank has Decreased!") + embed = discord.Embed(title=f"MMR Alert", description=f"{handle}'s ranked average decreased to {status}!", color=0xff2200) + await ctx.send(embed=embed) + + else: + for channel in mmrsublist[handle]['channels']: + ctx = bot.get_channel(channel) + print(f">> Alerting {ctx} that {handle}'s rank is an unknown state") + embed = discord.Embed(title=f"MMR Alert", description=f"{handle}'s rank is in an unknown state!", color=0xffff00) + await ctx.send(embed=embed) + print(">> Done") + + #new_spsublist.append(subscription) + + # Write status changes to spsublist.dat + async with aiof.open('mmrsublist.dat', 'wb') as datafile: + pickled_mmrsublist = pickle.dumps(mmrsublist) + await datafile.write(pickled_mmrsublist) + #await datafile.fsync() + await datafile.flush() + + else: + print(">> mmrsublist.dat does not exist, nothing to do.") + + # 10800 seconds == 3 hours :) + await asyncio.sleep(int(mmr_checker_interval)) + +# +# +# @bot.command() async def help(ctx): - embed = discord.Embed(title="R0b3BOT", description="List of commands are:", color=0xeee657) + embed = discord.Embed(title='R0b3BOT Core & Debug Commands:', description="Core commands for info and debug", color=0xeee657) + embed.add_field(name=f"{BOT_COMMAND_PREFIX}info", value="Gives a little info about the bot", inline=False) + embed.add_field(name=f"{BOT_COMMAND_PREFIX}help", value="Gives this message", inline=False) + embed.add_field(name=f"{BOT_COMMAND_PREFIX}last_error", value="Will display the real error message the bot has last encountered for additional debugging info") + await ctx.send(embed=embed) + + embed = discord.Embed(title="R0b3BOT Sound Commands", description="To play a sound in a chat channel, use one of the following:", color=0xeee657) embed.add_field(name=f"{BOT_COMMAND_PREFIX}printstat", value="Uploads a snapshot of Rich's 3D printer and current stats", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}explain", value="Displays Dalek EXPLAIN gif", inline=False) embed.add_field(name=f"{BOT_COMMAND_PREFIX}holyshit", value="Displays Marty McFly HOLY SHIT gif", inline=False) @@ -925,14 +1208,19 @@ async def help(ctx): embed.add_field(name=f"{BOT_COMMAND_PREFIX}heavy @member", value="Plays 'Poppy ooo heavy'") embed.add_field(name=f"{BOT_COMMAND_PREFIX}iran @member", value="Plays Trump 'I Ran'") embed.add_field(name=f"{BOT_COMMAND_PREFIX}big @member", value="Plays 'Wiz Khalifa clip'") - embed.add_field(name=f"{BOT_COMMAND_PREFIX}info", value="Gives a little info about the bot", inline=False) - embed.add_field(name=f"{BOT_COMMAND_PREFIX}help", value="Gives this message", inline=False) - embed.add_field(name=f"{BOT_COMMAND_PREFIX}last_error", value="Will display the real error message the bot has last encountered for additional debugging info") + await ctx.send(embed=embed) + + embed = discord.Embed(title="A note about sound clips:", description="Sound clips are only played in voice channels. If a user is not specified when calling the command, the sound will played in the channel of that issuing user is currently joined to. When a username is specified, the bot will play the sound in the channel that user is currently in.") + await ctx.send(embed=embed) + + embed = discord.Embed(title="StatPing Service Monitor Commands", description="Commands for managing the StatPing Service Monitor", color=0xeee657) embed.add_field(name=f"{BOT_COMMAND_PREFIX}spstatus servicename", value="Retrieves status of service from StatPing") embed.add_field(name=f"{BOT_COMMAND_PREFIX}spsub service", value="Allows user to subscribe to service status change alerts for the channel. Can replace with -list and -del:service to manage alerts. NOTICE:Replace spaces in service names w/ '_'!") await ctx.send(embed=embed) - embed = discord.Embed(title="A note about sound clips:", description="Sound clips are only played in voice channels. If a user is not specified when calling the command, the sound will played in the channel of that issuing user is currently joined to. When a username is specified, the bot will play the sound in the channel that user is currently in.") + embed = discord.Embed(title="MMR Monitor Commands", description="Commands for managing the MMR Checker", color=0xeee657) + embed.add_field(name=f"{BOT_COMMAND_PREFIX}mmrstatus handle", value="Queries the MMR API for the handle specified and returns the current Ranked Average") + embed.add_field(name=f"{BOT_COMMAND_PREFIX}mmrsub handle", value="Subscribe to receive alerts of ranked average changes for the specified handle. Can run command with just '-list' to list handle the current channel is subbed to. Use -del:service to unsub from a handle. NOTICE:Replace spaces in service names w/ '_'!") await ctx.send(embed=embed) # Function to run shell command and return stdout or sterr -- 2.39.5