# pip install sqlitedict
import telebot
import os
# from sqlitedict import SqliteDict
BOT_TOKEN = 'YOUR_BOT_TOKEN'
bot = telebot.TeleBot(BOT_TOKEN)
# Словарь для хранения названий папок для каждого пользователя
user_folders = {}
# user_folders = SqliteDict('user_folders.db', autocommit=True)
@bot.message_handler(content_types=['text'])
def handle_text(message):
user_id = message.chat.id
folder_name = message.text
# Сохраняем название папки в словаре, привязав к ID пользователя
user_folders[user_id] = folder_name
# Создаем папку
try:
os.makedirs(folder_name, exist_ok=True)
bot.reply_to(message, f"Создана папка с именем: {folder_name}")
except OSError as e:
bot.reply_to(message, f"Ошибка при создании папки: {e}")
@bot.message_handler(content_types=['photo'])
def handle_photo(message):
user_id = message.chat.id
# Проверяем, есть ли для этого пользователя сохраненное название папки
if user_id in user_folders:
folder_name = user_folders[user_id]
file_info = bot.get_file(message.photo[-1].file_id)
downloaded_file = bot.download_file(file_info.file_path)
# Сохраняем фото в папку пользователя
src = os.path.join(folder_name, message.photo[-1].file_id + ".jpg") # Можно добавить logic для сохранения оригинального имени
with open(src, 'wb') as new_file:
new_file.write(downloaded_file)
bot.reply_to(message, f"Фотография сохранена в папку: {folder_name}")
else:
bot.reply_to(message, "Сначала введите название папки.")
if __name__ == '__main__':
bot.polling(none_stop=True)
@bot.message_handler(commands=['msg', 'm', 'message', 'mes'], func=authorized_admin)
@async_run
def message_to_user(message: telebot.types.Message):
"""отправка сообщения от админа юзеру"""
try:
args = message.text.split(maxsplit=2)
try:
uid = int(args[1])
text = args[2]
bot.send_message(uid, text, message_thread_id = 0, disable_notification=True)
bot_reply_tr(message, 'Message sent.')
my_log.log_echo(message, f'Admin sent message to user {uid}: {text}')
return
except:
pass
bot_reply_tr(message, 'Usage: /msg userid_as_int text to send from admin to user')
except Exception as unknown:
traceback_error = traceback.format_exc()
my_log.log2(f'tb:message_to_user: {unknown}\n{traceback_error}')
cmdow.exe /RUN /HID cmd.exe /c "ping 127.0.0.1 -t"