mirror of
https://gitlab.com/chicken-riders/RcGcDw.git
synced 2025-02-23 00:24:09 +00:00
Fixed #122
This commit is contained in:
parent
9a66a8c6f9
commit
8770fcea47
|
@ -19,7 +19,7 @@
|
||||||
import logging, gettext, schedule, requests, json, datetime
|
import logging, gettext, schedule, requests, json, datetime
|
||||||
from collections import defaultdict
|
from collections import defaultdict
|
||||||
from configloader import settings
|
from configloader import settings
|
||||||
from misc import datafile, send_to_discord, DiscordMessage, WIKI_SCRIPT_PATH, escape_formatting
|
from misc import datafile, send_to_discord, DiscordMessage, WIKI_SCRIPT_PATH, escape_formatting, messagequeue
|
||||||
from session import session
|
from session import session
|
||||||
|
|
||||||
# Initialize translation
|
# Initialize translation
|
||||||
|
@ -104,6 +104,7 @@ def compact_formatter(post, post_type):
|
||||||
|
|
||||||
|
|
||||||
def fetch_discussions():
|
def fetch_discussions():
|
||||||
|
messagequeue.resend_msgs()
|
||||||
request = safe_request(fetch_url)
|
request = safe_request(fetch_url)
|
||||||
if request:
|
if request:
|
||||||
try:
|
try:
|
||||||
|
|
20
misc.py
20
misc.py
|
@ -102,6 +102,26 @@ class MessageQueue:
|
||||||
def cut_messages(self, item_num):
|
def cut_messages(self, item_num):
|
||||||
self._queue = self._queue[item_num:]
|
self._queue = self._queue[item_num:]
|
||||||
|
|
||||||
|
def resend_msgs(self):
|
||||||
|
if self._queue:
|
||||||
|
misc_logger.info(
|
||||||
|
"{} messages waiting to be delivered to Discord due to Discord throwing errors/no connection to Discord servers.".format(
|
||||||
|
len(self._queue)))
|
||||||
|
for num, item in enumerate(self._queue):
|
||||||
|
misc_logger.debug(
|
||||||
|
"Trying to send a message to Discord from the queue with id of {} and content {}".format(str(num),
|
||||||
|
str(item)))
|
||||||
|
if send_to_discord_webhook(item) < 2:
|
||||||
|
misc_logger.debug("Sending message succeeded")
|
||||||
|
time.sleep(2.5)
|
||||||
|
else:
|
||||||
|
misc_logger.debug("Sending message failed")
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
self.clear()
|
||||||
|
misc_logger.debug("Queue emptied, all messages delivered")
|
||||||
|
self.cut_messages(num)
|
||||||
|
misc_logger.debug(self._queue)
|
||||||
|
|
||||||
messagequeue = MessageQueue()
|
messagequeue = MessageQueue()
|
||||||
datafile = DataFile()
|
datafile = DataFile()
|
||||||
|
|
20
rcgcdw.py
20
rcgcdw.py
|
@ -1133,25 +1133,7 @@ class Recent_Changes_Class(object):
|
||||||
self.ids.pop(0)
|
self.ids.pop(0)
|
||||||
|
|
||||||
def fetch(self, amount=settings["limit"]):
|
def fetch(self, amount=settings["limit"]):
|
||||||
if messagequeue:
|
messagequeue.resend_msgs()
|
||||||
logger.info(
|
|
||||||
"{} messages waiting to be delivered to Discord due to Discord throwing errors/no connection to Discord servers.".format(
|
|
||||||
len(messagequeue)))
|
|
||||||
for num, item in enumerate(messagequeue):
|
|
||||||
logger.debug(
|
|
||||||
"Trying to send a message to Discord from the queue with id of {} and content {}".format(str(num),
|
|
||||||
str(item)))
|
|
||||||
if send_to_discord_webhook(item) < 2:
|
|
||||||
logger.debug("Sending message succeeded")
|
|
||||||
time.sleep(2.5)
|
|
||||||
else:
|
|
||||||
logger.debug("Sending message failed")
|
|
||||||
break
|
|
||||||
else:
|
|
||||||
messagequeue.clear()
|
|
||||||
logger.debug("Queue emptied, all messages delivered")
|
|
||||||
messagequeue.cut_messages(num)
|
|
||||||
logger.debug(messagequeue)
|
|
||||||
last_check = self.fetch_changes(amount=amount)
|
last_check = self.fetch_changes(amount=amount)
|
||||||
# If the request succeeds the last_check will be the last rcid from recentchanges query
|
# If the request succeeds the last_check will be the last rcid from recentchanges query
|
||||||
if last_check is not None:
|
if last_check is not None:
|
||||||
|
|
Loading…
Reference in a new issue