slight print update and added new systemctl service instead of using timer
This commit is contained in:
parent
f7a399cb27
commit
153f1c28ce
@ -1,9 +1,12 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
import discord
|
import discord
|
||||||
from discord.ext import commands
|
from discord.ext import commands
|
||||||
from discord.ext.tasks import loop
|
from discord.ext.tasks import loop
|
||||||
from discord import HTTPException
|
from discord import HTTPException
|
||||||
from settings import token
|
from settings import token
|
||||||
import time
|
import time
|
||||||
|
import traceback
|
||||||
import datetime
|
import datetime
|
||||||
|
|
||||||
client = discord.Client()
|
client = discord.Client()
|
||||||
@ -36,22 +39,23 @@ def get_suggestion_type(msg):
|
|||||||
async def on_message(message):
|
async def on_message(message):
|
||||||
if message.author.bot:
|
if message.author.bot:
|
||||||
return
|
return
|
||||||
if message.author.id in ignore_list:
|
|
||||||
msg = f'{message.author.name} Your suggestion was ignored because you made too many shitty suggestions already. Do not post in this channel anymore because your retarded.'
|
|
||||||
await message.channel.send()
|
|
||||||
return
|
|
||||||
if message.channel.name == 'suggestion-box': #suggestion-box
|
if message.channel.name == 'suggestion-box': #suggestion-box
|
||||||
channel = client.get_channel(872925751295504476) #872925751295504476
|
channel = client.get_channel(872925751295504476) #872925751295504476
|
||||||
message_content = message.content
|
message_content = message.content
|
||||||
|
#print('message_content: ', message_content)
|
||||||
suggestion_type, message_content = get_suggestion_type(message_content)
|
suggestion_type, message_content = get_suggestion_type(message_content)
|
||||||
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
now = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
||||||
send_msg = f"""```DISCORD USER ID: {message.author.id}\nUSERNAME: {message.author}\nTYPE: {suggestion_type}\nTIME: {now}\nSTATUS: No admin interested yet (mark with an emote to prevent suggestion deletion within 48 hours)\nSUGGESTION: {message_content}```"""
|
send_msg = f"""```DISCORD USER ID: {message.author.id}\nUSERNAME: {message.author}\nTYPE: {suggestion_type}\nTIME: {now}\nSTATUS: No admin interested yet (mark with an emote to prevent suggestion deletion within 48 hours)\nSUGGESTION: {message_content}```"""
|
||||||
send_channel_msg = f"""{message.author} your suggestion was sent to admins as type: {suggestion_type}. Specify Suggestion types by appending your message with one of the following commands: !ze !zr !mg !forum !discord !meta. \nSpamming the suggestion channel with useless crap will lead to ban."""
|
send_channel_msg = f"""{message.author} your suggestion was sent to admins as type: {suggestion_type}. Specify Suggestion types by appending your message with one of the following commands: !ze !zr !mg !forum !discord !meta. \nSpamming the suggestion channel with useless crap will lead to ban."""
|
||||||
|
print('send_channel_msg: ', send_channel_msg)
|
||||||
|
print('send_msg: ', send_msg)
|
||||||
await message.channel.send(send_channel_msg)
|
await message.channel.send(send_channel_msg)
|
||||||
await channel.send(send_msg)
|
await channel.send(send_msg)
|
||||||
|
|
||||||
|
j = None
|
||||||
@loop(seconds = 10)
|
@loop(seconds = 10)
|
||||||
async def check_suggestions_to_delete():
|
async def check_suggestions_to_delete():
|
||||||
|
global j
|
||||||
global client
|
global client
|
||||||
for channel in client.get_all_channels():
|
for channel in client.get_all_channels():
|
||||||
if channel.name == 'suggestion-admin':
|
if channel.name == 'suggestion-admin':
|
||||||
@ -60,7 +64,11 @@ async def check_suggestions_to_delete():
|
|||||||
status_msg = "STATUS: No admin interested yet (mark with an emote to prevent suggestion deletion within 48 hours)"
|
status_msg = "STATUS: No admin interested yet (mark with an emote to prevent suggestion deletion within 48 hours)"
|
||||||
status = 'STATUS:'
|
status = 'STATUS:'
|
||||||
suggestion = 'SUGGESTION:'
|
suggestion = 'SUGGESTION:'
|
||||||
|
j = j1
|
||||||
for msg in j1:
|
for msg in j1:
|
||||||
|
if not msg.author.bot:
|
||||||
|
continue
|
||||||
|
#print('msg: ', msg)
|
||||||
if len(msg.reactions) == 0:
|
if len(msg.reactions) == 0:
|
||||||
created_at = msg.created_at
|
created_at = msg.created_at
|
||||||
if created_at < datetime.datetime.now()-datetime.timedelta(days=2):
|
if created_at < datetime.datetime.now()-datetime.timedelta(days=2):
|
||||||
@ -76,6 +84,7 @@ async def check_suggestions_to_delete():
|
|||||||
last_part = msg.content.split(suggestion)[1]
|
last_part = msg.content.split(suggestion)[1]
|
||||||
user_reactions = []
|
user_reactions = []
|
||||||
for react in msg.reactions:
|
for react in msg.reactions:
|
||||||
|
#print('react: ', react)
|
||||||
users = react.users()
|
users = react.users()
|
||||||
j2 = await users.flatten()
|
j2 = await users.flatten()
|
||||||
for user in j2:
|
for user in j2:
|
||||||
@ -84,7 +93,8 @@ async def check_suggestions_to_delete():
|
|||||||
final_msg = f'{first_part}STATUS: Admins interested in topic:{user_reactions}\n{suggestion}{last_part}'
|
final_msg = f'{first_part}STATUS: Admins interested in topic:{user_reactions}\n{suggestion}{last_part}'
|
||||||
try:
|
try:
|
||||||
await msg.edit(content=final_msg)
|
await msg.edit(content=final_msg)
|
||||||
except HTTPException:
|
except Exception:
|
||||||
|
traceback.print_exc()
|
||||||
time.sleep(300)
|
time.sleep(300)
|
||||||
client = discord.Client()
|
client = discord.Client()
|
||||||
check_suggestions_to_delete.start()
|
check_suggestions_to_delete.start()
|
||||||
|
11
suggestionsbot/discord_suggestions.service
Normal file
11
suggestionsbot/discord_suggestions.service
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=runs discord suggestions
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
User=nonroot
|
||||||
|
Restart=always
|
||||||
|
RuntimeMaxSec=432000
|
||||||
|
Environment=PYTHONUNBUFFERED=1
|
||||||
|
WorkingDirectory=/home/nonroot/discord_suggestions
|
||||||
|
ExecStart=/home/nonroot/discord_suggestions/discord_suggestions.py
|
Loading…
Reference in New Issue
Block a user