diff --git a/bot/bot.py b/bot/bot.py index 034e9a8..906b9ce 100644 --- a/bot/bot.py +++ b/bot/bot.py @@ -675,8 +675,10 @@ def run_bot() -> None: user_filter = filters.ALL if len(config.allowed_telegram_usernames) > 0: usernames = [x for x in config.allowed_telegram_usernames if isinstance(x, str)] - user_ids = [x for x in config.allowed_telegram_usernames if isinstance(x, int)] - user_filter = filters.User(username=usernames) | filters.User(user_id=user_ids) + any_ids = [x for x in config.allowed_telegram_usernames if isinstance(x, int)] + user_ids = [x for x in any_ids if x > 0] + group_ids = [x for x in any_ids if x < 0] + user_filter = filters.User(username=usernames) | filters.User(user_id=user_ids) | filters.Chat(chat_id=group_ids) application.add_handler(CommandHandler("start", start_handle, filters=user_filter)) application.add_handler(CommandHandler("help", help_handle, filters=user_filter)) diff --git a/config/config.example.yml b/config/config.example.yml index 8fb3e07..9064fb3 100644 --- a/config/config.example.yml +++ b/config/config.example.yml @@ -1,7 +1,7 @@ telegram_token: "" openai_api_key: "" use_chatgpt_api: true -allowed_telegram_usernames: [] # if empty, the bot is available to anyone. pass a username string to allow it and/or user ids as integers +allowed_telegram_usernames: [] # if empty, the bot is available to anyone. pass a username string to allow it and/or user ids as positive integers and/or channel ids as negative integers new_dialog_timeout: 600 # new dialog starts after timeout (in seconds) return_n_generated_images: 1 n_chat_modes_per_page: 5