def voice_log(self, event, user):
if isinstance(user, DiscoUser):
user = user.id
sessions = GuildVoiceSession.select(
GuildVoiceSession.user_id,
GuildVoiceSession.channel_id,
GuildVoiceSession.started_at,
GuildVoiceSession.ended_at
).where(
(GuildVoiceSession.user_id == user) &
(GuildVoiceSession.guild_id == event.guild.id)
).order_by(GuildVoiceSession.started_at.desc()).limit(10)
tbl = MessageTable()
tbl.set_header('Channel', 'Joined At', 'Duration')
for session in sessions:
tbl.add(
unicode(self.state.channels.get(session.channel_id) or 'UNKNOWN'),
'{} ({} ago)'.format(
session.started_at.isoformat(),
humanize.naturaldelta(datetime.utcnow() - session.started_at)),
humanize.naturaldelta(session.ended_at - session.started_at) if session.ended_at else 'Active')
event.msg.reply(tbl.compile())
评论列表
文章目录