def lock(bot, update, args):
chat = update.effective_chat
message = update.effective_message
if can_delete(chat, bot.id):
if len(args) >= 1:
if args[0] in LOCK_TYPES:
sql.update_lock(chat.id, args[0], locked=True)
message.reply_text("Locked {} messages for all non-admins!".format(args[0]))
elif args[0] in RESTRICTION_TYPES:
sql.update_restriction(chat.id, args[0], locked=True)
message.reply_text("locked {}".format(args[0]))
members = users_sql.get_chat_members(chat.id)
if args[0] == "messages":
for mem in members:
try:
bot.restrict_chat_member(chat.id, mem.user,
can_send_messages=True)
except TelegramError:
pass
elif args[0] == "media":
for mem in members:
try:
bot.restrict_chat_member(chat.id, mem.user,
can_send_messages=True,
can_send_media_messages=True)
except TelegramError:
pass
elif args[0] == "other":
for mem in members:
try:
bot.restrict_chat_member(chat.id, mem.user,
can_send_messages=True,
can_send_media_messages=True,
can_send_other_messages=True)
except TelegramError:
pass
elif args[0] == "previews":
for mem in members:
try:
bot.restrict_chat_member(chat.id, mem.user,
can_send_messages=True,
can_send_media_messages=True,
can_add_web_page_previews=True)
except TelegramError:
pass
else:
message.reply_text("I'm not an administrator, or haven't got delete rights.")
评论列表
文章目录