|
|
from bot import Bot |
|
|
from community import Community |
|
|
|
|
|
|
|
|
def views(bot: Bot): |
|
|
@bot.handle_commands(['/start']) |
|
|
def handle_start(msg, user, args): |
|
|
if msg.chat.type in 'supergroup': |
|
|
bot.reply_with_template(msg, 'welcome', community=Community.by_id(msg.chat.id, bot)) |
|
|
return |
|
|
if args.strip().startswith('comm'): |
|
|
community_id = int('-'.join(args.strip().split('-')[1:])) |
|
|
community = Community.by_id(community_id, bot) |
|
|
if user.user_id in community.members: |
|
|
bot.reply_with_template(msg, 'community_added', community=community, already_member=True) |
|
|
elif community.add_member(user.user_id, bot): |
|
|
bot.reply_with_template(msg, 'community_added', community=community, already_member=False) |
|
|
else: |
|
|
bot.reply_with_template(msg, 'err_not_a_member', community=community) |
|
|
bot.reply_with_template(msg, 'start') |
|
|
|
|
|
@bot.handle_commands(['/help', 'ℹ️ About', 'ℹ️ О боте']) |
|
|
def handle_help(msg, _user, _args): |
|
|
bot.reply_with_template(msg, 'help') |
|
|
|
|
|
@bot.handle_commands(['/send_all']) |
|
|
def send_spam(msg, user, _args): |
|
|
if not user.is_admin(): |
|
|
return |
|
|
|
|
|
def handler(msg_1): |
|
|
bot.send_all_copy(msg_1) |
|
|
|
|
|
bot.send_message(msg.chat.id, 'Send the message') |
|
|
bot.register_next_step_handler(msg, handler) |
|
|
|
|
|
@bot.handle_commands(['/all_stats']) |
|
|
def all_stats(msg, user, _args): |
|
|
if not user.is_admin(): |
|
|
return |
|
|
stats = bot.stats() |
|
|
bot.reply_with_template(msg, 'admin_stats', stats=stats) |
|
|
|
|
|
@bot.handle_commands(['🛑 Cancel', '🛑 Отменить']) |
|
|
def cancel_creation(msg, _user, _args): |
|
|
bot.clear_step_handler_by_chat_id(msg.chat.id) |
|
|
bot.reply_with_template(msg, 'canceled') |
|
|
|
|
|
@bot.my_chat_member_handler() |
|
|
def handle_my_chat_member(upd): |
|
|
chat_id: int = upd.chat.id |
|
|
# get the community and add it if it doesn't exist |
|
|
community: Community = Community.by_id(chat_id, bot) |
|
|
# send welcome message to the chat (if we can) - and if we should |
|
|
bot.reply_with_template(upd, 'welcome', community=community)
|
|
|
|