pull/5/head
Bobloy 7 years ago
parent 7348125c9a
commit 033dae19a7

@ -0,0 +1,5 @@
from .seen import Seen
def setup(bot):
bot.add_cog(Seen(bot))

@ -0,0 +1,61 @@
from datetime import datetime
import dateutil.parser
import discord
from discord.ext import commands
from redbot.core import Config, RedContext
from redbot.core.bot import Red
class Seen:
"""
V3 Cog Template
"""
def __init__(self, bot: Red):
self.bot = bot
self.config = Config.get_conf(self, identifier=9811198108111121, force_registration=True)
default_global = {}
default_guild = {
"enabled": True
}
default_member = {
"seen": None
}
self.config.register_global(**default_global)
self.config.register_guild(**default_guild)
self.config.register_member(**default_member)
@staticmethod
def get_date_time(s):
d = dateutil.parser.parse(s)
return d
@commands.command()
async def seen(self, ctx: RedContext, member: discord.Member):
last_seen = await self.config.member(member).seen()
if last_seen is None:
await ctx.send(embed=discord.Embed(description="I've never seen this user"))
else:
embed = discord.Embed(
description="{} was last seen at this date and time".format(member.display_name),
timestamp=self.get_date_time(last_seen))
await ctx.send(embed=embed)
# async def on_socket_raw_recieve(self, data):
# try:
# if type(data) == str:
# raw = json.loads(data)
# print(data)
# except:
# print(data)
async def on_member_update(self, before, after):
if before.status == 'online' and after.status == 'offline':
if not await self.config.guild(before.guild).enabled():
return
await self.config.member(before).seen.set(datetime.now().isoformat())
Loading…
Cancel
Save