def settings(message): is_admin = str(message.chat.id) == MAINTAINER # 普通用户只可以查看,不可以设置。 # 管理员可以查看可以设置 if message.text != "/settings" and not is_admin: bot.send_message(message.chat.id, "此功能只允许管理员使用。请使用 /ping 和 /settings 查看相关信息") return # 删除公告,设置新公告 if message.text != "/settings": date = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) text = message.text.replace("/settings", f"{date}\t") logging.info("New announcement %s", text) redis_announcement(text, "set") setattr(message, "text", "/settings") settings(message) return announcement = redis_announcement() markup = types.InlineKeyboardMarkup() btn1 = types.InlineKeyboardButton("删除公告", callback_data="announcement") if is_admin and announcement: markup.add(btn1) bot.send_message(message.chat.id, f"目前公告:\n\n {announcement or '暂无公告'}", reply_markup=markup)
def delete_announcement(call): bot.send_chat_action(call.message.chat.id, 'typing') redis_announcement(op="del") bot.edit_message_text(f"目前公告:\n\n {redis_announcement() or '暂无公告'}", call.message.chat.id, call.message.message_id)
def send_ping(message): logging.info("Pong!") bot.send_chat_action(message.chat.id, 'typing') info = get_runtime("botsrunner_yyets_1") usage = "" if str(message.chat.id) == MAINTAINER: usage = show_usage() announcement = redis_announcement() or "" if announcement: announcement = f"\n\n*公告:{announcement}*\n\n" bot.send_message(message.chat.id, f"{info}\n\n{usage}\n{announcement}", parse_mode='markdown')