Форум программистов, компьютерный форум, киберфорум
Python: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
 Аватар для Terabaytus
9 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 88

Бот хватает сообщения

17.11.2022, 15:37. Показов 712. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, написал бота для пересылки сообщений по группам при обращение к нему пишу ему сообщения он его пересылает по другим группам в которые добавлен, но если я напишу в этих группах в которых он добавлен сообщение он его пересылает по остальным нужно что бы сообщение пересылались когда я пишу ему как это исправить ?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
bot = telebot.TeleBot('')
allowed_ids = []
 
@bot.message_handler(commands=['ПРИВЕТ'])
def mailing_all_messages(message):
bot.send_message(message.from_user.id, 'Привет, введите сообщение...')
 
@bot.message_handler(content_types=['text', 'photo', 'document', 'audio', 'video'])
def mailing_all_messages(message):
 
    user_id = message.from_user.id
    print(user_id)
 
    if  user_id in allowed_ids:
        try:
            bot.forward_message('-3453534545', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-345324543543', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-891895216', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-34534534554', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-345345435', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
 
    else:
        bot.send_message(message.from_user.id, 'В доступе отказано!')
if __name__ == '__main__':
while True:
    try:
        bot.polling(none_stop=True)
    except Exception as e:
        time.sleep(1)
        print(e)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.11.2022, 15:37
Ответы с готовыми решениями:

Бот не отвечает на сообщения
Всем привет! Я решил написать своего первого Бота, написал код(bot.py, config.py). Дальше я решаю протестить Бота, но ничего не...

Бот не отвечает на сообщения юзера
Здраствуйте. Пишу телеграмм бота на питоне. По началу бот отвечал на сообщения и всё было нормально. Но потом он перестал отвечать на все...

Отправка сообщения из телеграмма в вк (Бот)
Добрый вечер! Можете подсказать, как можно отправлять сообщения в вк от бота. Я представляю так: бот авторизуется в вк (с помощью фейка),...

9
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
17.11.2022, 15:52
Цитата Сообщение от Terabaytus Посмотреть сообщение
но если я напишу в этих группах в которых он добавлен сообщение он его пересылает по остальным
Цитата Сообщение от Terabaytus Посмотреть сообщение
нужно что бы сообщение пересылались когда я пишу ему
Что исправить то?
0
 Аватар для Terabaytus
9 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 88
17.11.2022, 16:02  [ТС]
Fudthhh, Что бы когда я писал сообщение в группе где есть мой бот он моё сообщение не пересылал по остальным. А пересылал только тогда когда я не посредственно работаю с ним(пишу ему лично).
0
p
 Аватар для hasker2
84 / 44 / 16
Регистрация: 15.01.2021
Сообщений: 433
17.11.2022, 16:35
Быдлокод, но подходит
Python
1
2
3
4
if (str(message.fror_user.id)[0] == '-') // айди групп начинаеться на -
{
    bot.send_message() //тут по вашим группам
}
если есть более правильный метод - напишите
0
 Аватар для Terabaytus
9 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 88
17.11.2022, 16:50  [ТС]
hasker2, к сожалению не работает так же напишиш боту сообщение проходит по всем группам, напишиш в группу так же по всем группам группам разноситься.
0
p
 Аватар для hasker2
84 / 44 / 16
Регистрация: 15.01.2021
Сообщений: 433
17.11.2022, 17:26
Terabaytus,
Python
1
2
3
4
if (str(message.chat.id)[0] == '-') // айди групп начинаеться на -
{
    bot.send_message() //тут по вашим группам
}
я тупой, получал айди пользователя, возьми chat.id
1
 Аватар для Terabaytus
9 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 88
17.11.2022, 20:35  [ТС]
hasker2, всё так же
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
18.11.2022, 07:35
Лучший ответ Сообщение было отмечено Terabaytus как решение

Решение

Terabaytus, поищи в документации информацию по фильтрам, ты уже используешь один (фильтруешь контент сообщения), там есть фильтр на тип чата (тебе нужен приватный). А так же можно определять из какого именно чата пришло сообщение (как посоветовали выше).
1
 Аватар для Terabaytus
9 / 0 / 0
Регистрация: 18.02.2014
Сообщений: 88
18.11.2022, 09:13  [ТС]
Fudthhh, об условии думал не мог сообразить где поставить, вот сегодня только дошло благодаря вашему ответу и совету выше.

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
 user_id = message.from_user.id
 print(user_id)
 if message.chat.id == user_id:
    if  user_id in allowed_ids:
        try:
            bot.forward_message('-3453534545', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-345324543543', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-891895216', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-34534534554', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
        try:
            bot.forward_message('-345345435', message.chat.id, message.message_id)
        except Exception as e:
            print(e)
            pass
 
    else:
        bot.send_message(message.from_user.id, 'В доступе отказано!')
if __name__ == '__main__':
while True:
    try:
        bot.polling(none_stop=True)
    except Exception as e:
        time.sleep(1)
        print(e)
0
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
18.11.2022, 13:10
Terabaytus, немного упростил:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
allowed_ids = []
forward_chats_ids = [
    '-3453534545',
    '-345324543543',
    '-891895216',
    '-34534534554',
    '-345345435',
]
@bot.message_handler(content_types=['text', 'photo', 'document', 'audio', 'video'])
def mailing_all_messages(message):
    user_id = message.from_user.id
    print(user_id)
    if message.chat.id == user_id:
        if user_id in allowed_ids:
            for forward_chat_id in forward_chats_ids:
                try:
                    bot.forward_message(forward_chat_id, message.chat.id, message.message_id)
                except Exception as e:  # <- Очень плохая обработка ошибок
                    print(e)
        else:
            bot.send_message(message.from_user.id, 'В доступе отказано!')
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.11.2022, 13:10
Помогаю со студенческими работами здесь

Бот отвечает на все сообщения
Написал своего диалог-бота на питоне, но такая проблема. Хочу чтобы бот отвечал только на те сообщения где его вызывают по имени. Как это...

Не приходят сообщения в телеграм бот
пытаюсь сделать телеграм бота, по видио урокам вот кодimport requests import misc import json token = misc.token URL =...

Почему бот не реагирует на сообщения другого бота?
Доброго времени суток! Пишу простого бота &quot;чистильщика&quot;, который должен удалять определенные сообщения: пользователя вбивает команду,...

ЧАТ-Бот на Python. Проблема с отправкой сообщения
Всем привет! Скажите, как сделать отправку двух сообщений подряд. Есть какой-то execute, но как им пользоваться не понял. Хочется, чтобы...

Бот отправляет сообщения только одному пользователю, telebot
Я новичок в написании ботов тг и столкнулся с проблемой,бут пишет все сообщения пользователю который первый запустил его. Подскажите как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru