Форум программистов, компьютерный форум, киберфорум
PHP: API, боты
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для licoric
1 / 1 / 1
Регистрация: 11.05.2012
Сообщений: 63
Telegram Bot

Отправка фотографий и текста

05.08.2023, 00:21. Показов 1230. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Мне надо, что бы пользователь отправил боту идентификатор и пару фоток. Я заметил, что фотки приходят без текста...
И каждая фотка приходит по отдельности (на 2 фото 2 вебхука - и оба без текста). Это я что-то не понимаю или это реальная ситуация?
PHP Скопировано
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
50
51
52
53
54
55
56
57
58
59
60
61
62
Array
(
    [update_id] => 704313022
    [message] => Array
        (
            [message_id] => 373
            [from] => Array
                (
                    [id] => ***
                    [is_bot] => 
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [language_code] => ru
                    [is_premium] => 1
                )
 
            [chat] => Array
                (
                    [id] => ***
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [type] => private
                )
 
            [date] => 1691183836
            [media_group_id] => 13529470695108098
            [photo] => Array
                (
                    [0] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBdWTNatx6tBgvXjzDAeylVet5DvLAAAIdzTEbeARxSvfq-OL364j6AQADAgADcwADLwQ
                            [file_unique_id] => AQADHc0xG3gEcUp4
                            [file_size] => 747
                            [width] => 90
                            [height] => 44
                        )
 
                    [1] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBdWTNatx6tBgvXjzDAeylVet5DvLAAAIdzTEbeARxSvfq-OL364j6AQADAgADbQADLwQ
                            [file_unique_id] => AQADHc0xG3gEcUpy
                            [file_size] => 11217
                            [width] => 320
                            [height] => 157
                        )
 
                    [2] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBdWTNatx6tBgvXjzDAeylVet5DvLAAAIdzTEbeARxSvfq-OL364j6AQADAgADeAADLwQ
                            [file_unique_id] => AQADHc0xG3gEcUp9
                            [file_size] => 25566
                            [width] => 566
                            [height] => 278
                        )
 
                )
 
        )
 
)
*Кто виноват, что делать?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.08.2023, 00:21
Ответы с готовыми решениями:

Отправка фотографий
Ребят помогите, уже 2-й день голову ломаю. Делаю запрос на вк апи для загрузки фотографии, достаю юрл на который нужно делать загрузку...

vk api, отправка фотографий в альбом
Здравствуйте, уважаемые пользователи. Возникла проблема. Кто имел опыт работы с vk api помогите пожалуйста. Загрузка фоток состоит из...

Aiogram отправка фотографий
Стоит задача - отправить фотографии в чат. Если фотография 1, то все просто: with open('photos/AQADBfoYmy4AA588BgAB.jpg', 'rb') as...

7
13 / 8 / 7
Регистрация: 12.06.2019
Сообщений: 197
06.08.2023, 13:13
Цитата Сообщение от licoric Посмотреть сообщение
Я заметил, что фотки приходят без текста...
А куда приходят? боту? или это вам бот переслал?

Добавлено через 46 секунд
Цитата Сообщение от licoric Посмотреть сообщение
на 2 фото 2 вебхука - и оба без текста
Вижу 3 фото в одном массиве
0
 Аватар для licoric
1 / 1 / 1
Регистрация: 11.05.2012
Сообщений: 63
06.08.2023, 20:17  [ТС]
Цитата Сообщение от Престашоп Посмотреть сообщение
А куда приходят? боту? или это вам бот переслал?

Добавлено через 46 секунд

Вижу 3 фото в одном массиве
Я хочу сделать так: пользователь отправляет боту какой-то текст и 1+ фото (1-2-3 - не важно. Несколько, например). По вебхуку я вижу, что бот принимает фотки, но текст, который был написан в сообщении - отсутствует. То есть до бота не доходит текст, если он отправлен с фотографиями.
И еще момент - если боту отправить 2 фотки, то происходит 2 срабатывания вебхука (это еще можно пережить). Но вот сообщение, которое было написано, боту не приходит...
0
13 / 8 / 7
Регистрация: 12.06.2019
Сообщений: 197
06.08.2023, 20:43
Цитата Сообщение от licoric Посмотреть сообщение
Но вот сообщение, которое было написано, боту не приходит...
А простое сообщение боту приходит?
0
 Аватар для licoric
1 / 1 / 1
Регистрация: 11.05.2012
Сообщений: 63
06.08.2023, 21:01  [ТС]
Цитата Сообщение от Престашоп Посмотреть сообщение
А простое сообщение боту приходит?
Да.
0
13 / 8 / 7
Регистрация: 12.06.2019
Сообщений: 197
06.08.2023, 23:15
Давайте определимся с терминами.

Добавлено через 43 секунды
Что такое Не приходит?
Как вы определяете "приходимость"?
0
 Аватар для licoric
1 / 1 / 1
Регистрация: 11.05.2012
Сообщений: 63
08.08.2023, 22:39  [ТС]
Лучший ответ Сообщение было отмечено DrType как решение

Решение

Цитата Сообщение от Престашоп Посмотреть сообщение
Давайте определимся с терминами.

Добавлено через 43 секунды
Что такое Не приходит?
Как вы определяете "приходимость"?
Просто текст:
PHP Скопировано
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
Array
(
    [update_id] => 704313028
    [message] => Array
        (
            [message_id] => 384
            [from] => Array
                (
                    [id] => ***
                    [is_bot] => 
                    [first_name] => *
                    [last_name] => *
                    [username] => *
                    [language_code] => ru
                    [is_premium] => *
                )
 
            [chat] => Array
                (
                    [id] => *
                    [first_name] => *
                    [last_name] => *
                    [username] => *
                    [type] => private
                )
 
            [date] => 1691520120
            [text] => message_text
        )
 
)
Фотка:
PHP Скопировано
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
50
51
52
53
54
55
56
57
58
59
60
61
Array
(
    [update_id] => 704313029
    [message] => Array
        (
            [message_id] => 386
            [from] => Array
                (
                    [id] => ***
                    [is_bot] => 
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [language_code] => ru
                    [is_premium] => *
                )
 
            [chat] => Array
                (
                    [id] => ***
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [type] => private
                )
 
            [date] => 1691520269
            [photo] => Array
                (
                    [0] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBgmTSjQ2dDAgyIQAB1ESafdyil93RugACZcgxG6obmEqcCKRKHlF52AEAAwIAA3MAAzAE
                            [file_unique_id] => AQADZcgxG6obmEp4
                            [file_size] => 744
                            [width] => 63
                            [height] => 90
                        )
 
                    [1] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBgmTSjQ2dDAgyIQAB1ESafdyil93RugACZcgxG6obmEqcCKRKHlF52AEAAwIAA20AAzAE
                            [file_unique_id] => AQADZcgxG6obmEpy
                            [file_size] => 10129
                            [width] => 225
                            [height] => 320
                        )
 
                    [2] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBgmTSjQ2dDAgyIQAB1ESafdyil93RugACZcgxG6obmEqcCKRKHlF52AEAAwIAA3gAAzAE
                            [file_unique_id] => AQADZcgxG6obmEp9
                            [file_size] => 25452
                            [width] => 428
                            [height] => 608
                        )
 
                )
 
        )
 
)
Текст и одна фотка:
PHP Скопировано
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
50
51
52
53
54
55
56
57
58
59
60
61
62
Array
(
    [update_id] => 704313030
    [message] => Array
        (
            [message_id] => 388
            [from] => Array
                (
                    [id] => ***
                    [is_bot] => 
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [language_code] => ru
                    [is_premium] => ***
                )
 
            [chat] => Array
                (
                    [id] => ***
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [type] => private
                )
 
            [date] => 1691520440
            [photo] => Array
                (
                    [0] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBhGTSjbfdoNgMd3sCd-KGlIXTP_YZAAJlyDEbqhuYSpwIpEoeUXnYAQADAgADcwADMAQ
                            [file_unique_id] => AQADZcgxG6obmEp4
                            [file_size] => 744
                            [width] => 63
                            [height] => 90
                        )
 
                    [1] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBhGTSjbfdoNgMd3sCd-KGlIXTP_YZAAJlyDEbqhuYSpwIpEoeUXnYAQADAgADbQADMAQ
                            [file_unique_id] => AQADZcgxG6obmEpy
                            [file_size] => 10129
                            [width] => 225
                            [height] => 320
                        )
 
                    [2] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBhGTSjbfdoNgMd3sCd-KGlIXTP_YZAAJlyDEbqhuYSpwIpEoeUXnYAQADAgADeAADMAQ
                            [file_unique_id] => AQADZcgxG6obmEp9
                            [file_size] => 25452
                            [width] => 428
                            [height] => 608
                        )
 
                )
 
            [caption] => text and one foto
        )
 
)

Текст и 2 фото. Первый вебхук идет как надо (как в примере выше - есть caption), но второй без "caption" идет
PHP Скопировано
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
50
51
52
53
54
55
56
57
58
59
60
61
62
Array
(
    [update_id] => 704313032
    [message] => Array
        (
            [message_id] => 391
            [from] => Array
                (
                    [id] => ***
                    [is_bot] => 
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [language_code] => ru
                    [is_premium] => 1
                )
 
            [chat] => Array
                (
                    [id] => ***
                    [first_name] => ***
                    [last_name] => ***
                    [username] => ***
                    [type] => private
                )
 
            [date] => 1691520495
            [media_group_id] => 13532163966951994
            [photo] => Array
                (
                    [0] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBh2TSje-9szI4C4E-8bISO2rlAn0TAAJlyDEbqhuYSpwIpEoeUXnYAQADAgADcwADMAQ
                            [file_unique_id] => AQADZcgxG6obmEp4
                            [file_size] => 744
                            [width] => 63
                            [height] => 90
                        )
 
                    [1] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBh2TSje-9szI4C4E-8bISO2rlAn0TAAJlyDEbqhuYSpwIpEoeUXnYAQADAgADbQADMAQ
                            [file_unique_id] => AQADZcgxG6obmEpy
                            [file_size] => 10129
                            [width] => 225
                            [height] => 320
                        )
 
                    [2] => Array
                        (
                            [file_id] => AgACAgIAAxkBAAIBh2TSje-9szI4C4E-8bISO2rlAn0TAAJlyDEbqhuYSpwIpEoeUXnYAQADAgADeAADMAQ
                            [file_unique_id] => AQADZcgxG6obmEp9
                            [file_size] => 25452
                            [width] => 428
                            [height] => 608
                        )
 
                )
 
        )
 
)
Тут от части ложная тревога - я caption не увидел и не воспринял его как "текст". Потому и потерял параметр. Поэтому не актуально. И вопрос отправки двух фоток тоже решается - появляется параметр media_group_id с ид "галереи".
В общем вопрос с повестки можно снять - во всем разобрался.

Добавлено через 44 минуты
Продолжу общий посыл своего вопроса.
Вот есть у меня media_group_id. Могу я как-то по этому номеру получить список всех файлов из этой галереи? Или мне надо как-то оперировать номерами сообщений, где есть media_group_id? (*но я тогда не смогу понять, где "стоп"). В этих наших интернетах ничего не нашел.
0
 Аватар для licoric
1 / 1 / 1
Регистрация: 11.05.2012
Сообщений: 63
09.08.2023, 22:51  [ТС]
Отвечу сам себе на этот вопрос. Пока решил делать так:
Боту отправляют более 1 фото (не важно сколько). Я с caption первой фотки получаю всю нужную мне информацию (идентификатор из текста сообщения и само сообщение). Так же там будет присутствовать media_group_id. Я его помещаю в базу в виде media_group_id=идентфиикатор. Далее просто чекаю поле в базе. Если приходит фотка, где есть media_group_id и он совпадает с тем, что в базе, то отправляю сообщение по идентификатору. Если приходит любое сообщение, где нет media_group_id или он не равен тому, что в базе, тогда воспринимаю сообщение как "новое" сообщение.

Вот не нашел как через ботов работать с media_group_id. Делаю пока неспешное предположение, что данный функционал на одной полке с:
- как посмотреть, кто запустил бота? (никак - ловить и записывать всех этих пользователей)
- как посмотреть список участников в группе в телеге (никак - ловить и записывать всех этих пользователей х2)
- и прочее подобное.

Добавлено через 2 минуты
ps media_group_id лишь определяет набор фоток, отправленных в одном сообщении.
Кстати. Именно поэтому нельзя их будет отправить одним сообщением адресату (мой кейс), так как все фотки приходят по отдельности (хотя что мешает телеге собрать массив всех фоток (вообще всего: документы, фото, видео, файлы) и выдать один многомерный массив со списком всех этих файлов? но это больше риторический вопрос. В общем пока живем так.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
09.08.2023, 22:51
Помогаю со студенческими работами здесь

Отправка фотографий на стену пользователя. VK API
Добрый день. Не могу разобраться с отправлением постов на стену юзера Вконтакте, который залогиниться через мое приложение. По...

Сделать программу которая рассчитывает стоимость печати фотографий(выбирается размер и количество фотографий).Использовать RadioButton
С помощью RadioButton сделать форму для расчета стоимости фотографий

Отправка текста
Всем привет ещё раз! Наверное, я у вас уже в печёнках сижу. Как можно реализовать по нажатию на кнопку в программе печать текста в окне,...

Отправка текста из INPUT в GET
<input name=btnSearch type="button" value="Найти" onclick="top.location.href='index.php?act=1&search='.$inputSearch/> <INPUT TYPE=TEXT...

Отправка текста на eMAIL
Всем привет помогите написать код для отправки сообщения на определенный mail. Т.е. чтобы с листбокса сообщение приходило мне на мыло)


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
std::vector в C++: от основ к оптимизации производительности
NullReferenced 05.04.2025
Для многих программистов знакомство с std::vector происходит на ранних этапах изучения языка, но между базовым пониманием и подлинным мастерством лежит огромная дистанция. Контейнер std::vector. . .
Реляционная модель и правила Кодда: фундамент современных баз данных
Codd 05.04.2025
Конец 1960-х — начало 1970-х годов был периодом глубоких трансформаций в области хранения и обработки данных. На фоне растущих потребностей бизнеса и правительственных структур существовавшие на тот. . .
Асинхронные операции в Django с Celery
py-thonny 05.04.2025
Разработчики Django часто сталкиваются с проблемой, когда пользователь нажимает кнопку отправки формы и. . . ждёт. Секунды растягиваются в минуты, терпение иссякает, а интерфейс приложения замирает. . . .
Использование кэшей CPU: Максимальная производительность в Go
golander 05.04.2025
Разработчикам хорошо известно, что эффективность кода зависит не только от алгоритмов и структур данных, но и от того, насколько удачно программа взаимодействует с железом. Среди множества факторов,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер