def update_list(self):
async def callback():
servers = set()
memberset = set()
for ch in self.chat_widget.channels:
servers.add(ch.server)
for serv in servers:
for member in serv.members:
memberset.add(member)
items = []
on = []
idle = []
off = []
for member in memberset:
if member.status == discord.Status.online:
on.append(member)
if member.status == discord.Status.offline:
off.append(member)
if member.status == discord.Status.idle:
idle.append(member)
members = on + idle + off
for member in members:
items.append(
urwid.AttrMap(
urwid.Padding(
urwid.Text(member.display_name), left=1, right=1),
self._get_user_attr(member),
self._get_user_attr(member)))
self.list_walker[:] = items
self.chat_widget.discord.async(callback())
评论列表
文章目录