-
Постов
11 -
Зарегистрирован
-
Посещение
-
Победитель дней
1
Тип контента
Профили
Загрузки
База знаний IPS Community Suite 4
База знаний IP.Board 3.x
Форумы
События
Магазин
Совместные покупки
Сообщения, опубликованные Chrome-Vanadium
-
-
В 23.02.2024 в 16:45, t_reks сказал:
так как хоть фото и хранятся на одном сервере дискорда, за 4 года там ничего толком не найти
На днях мне написали, что появился сервис, который hotlinking восстанавливает. cdn.discordapp.com или media.discordapp.net меняешь на cdn.discordapp.xyz и ссылки восстанавливаются.
-
54 минуты назад, Respected сказал:
На nulled такого нет, только релиз полностью обновлять.
Благодарю, тему можно закрыть как решённую.
-
-
4 часа назад, Zero108 сказал:
Там ответы из разных форумов собираются в один виджет или из одного?
Со всего форума по разделам, доступным для просмотра. С других форумов данные не берутся.
4 часа назад, Zero108 сказал:настроить фильтрацию по автору.
А если в группе будет 30+ человек? Руками вписывать каждого будет малость неудобно.
Всë-таки склоняюсь к варианту, что это может быть самописный виджет. -
Wargaming на своих форумах (уже уходящих в небытие) на главной странице показывала виджет, где были ответы от пользователей в группе «Разработчики» (бывший СНГ-регион) или 'WG Staff'. Их форумы использовали Invision Community 3. Не могу понять, каким виджетом в Invision Community 4 можно реализовать аналогичное. Это точно не «Лента сообщений» и не «Лента тем»?
Спойлер -
Для совместимости с Invision Community 4.7 (и более ранних версий, где произошло изменение функции IPS\forums\_Topic::comments) нужно исправить хук \plugins\nb40pinnedposts\hooks\nbPinnedPostPosts.php следующим образом:
<?php # nbPinnedPostsPosts.php:19 public function comments( $limit=NULL, $offset=NULL, $order='date', $orderDirection='asc', $member=NULL, $includeHiddenComments=NULL, $cutoff=NULL, $extraWhereClause=NULL, $bypassCache=FALSE ) # заменить на public function comments( $limit=NULL, $offset=NULL, $order='date', $orderDirection='asc', $member=NULL, $includeHiddenComments=NULL, $cutoff=NULL, $extraWhereClause=NULL, $bypassCache=FALSE, $includeDeleted=false, $canViewWarn=null ) ?>
Увеличилось количество аргументов функции, из-за этого при включении плагина без патча выше движок взрывается:
Fatal error: Declaration of IPS\forums\hook15::comments($limit = null, $offset = null, $order = 'date', $orderDirection = 'asc', $member = null, $includeHiddenComments = null, $cutoff = null, $extraWhereClause = null, $bypassCache = false) must be compatible with IPS\forums\_Topic::comments($limit = null, $offset = null, $order = 'date', $orderDirection = 'asc', $member = null, $includeHiddenComments = null, $cutoff = null, $extraWhereClause = null, $bypassCache = false, $includeDeleted = false, $canViewWarn = null) in init.php(934) : eval()'d code on line 19
-
8 минут назад, t_reks сказал:
это решение для новых постов, так палагаю?
Для всех постов.
Если тебе нужно массово спарсить канал, у твоего бота должно быть разрешение на «чтение истории сообщений». Затем ему загоняешь команду, которая запрашивает сообщения с даты по дату. В ответ получаешь массив объектов сообщений, из которого можно выдернуть массив объектов вложений. По идее, это должно вернуть ссылки на изображения с проставленными expire-данными. На деле не проверял, в программе, где мне потребуется это реализовать, ещё не дошёл до этого.UPD: ссылки на документацию к Discord API поело, смотреть тут:
-
1 минуту назад, t_reks сказал:
через время они опять изменятся?
Да, со временем они перестают действовать и нужно заново обновлять.
-
4 минуты назад, t_reks сказал:
плюс как найти зависимость в том же Дискорде
media.discordapp.net/attachments/<id канала>/<id сообщения>/<название файла и расширение> — путь к вложению.
discord.com/channels/<id сервера>/<id канала>/<id сообщения> — путь к сообщению. -
7 минут назад, t_reks сказал:
Но Дискорд обновил вложения и видоизменил ссылки.
Discord специально так сделали, чтобы их перестали использовать в качестве хранилища файлов. Единственный вариант обойти эту проблему — попробовать написать бота, который будет мониторить ссылки в Discord и подавать новые аргументы с ограниченным сроком действия, и отдавать это в расширение движка форума. Вопрос в другом, изображения публиковались с одного сервера или с разных? Тогда такой вариант не подойдёт.
13 минут назад, t_reks сказал:Учитывая большой обьем тем, есть ли вариант некой замены ссылок?
Через БД это будет вряд ли эффективно, а выяснять, к какому сообщению принадлежит вложение в Discord, может быть дорого с точки зрения производительности и перезалить путём редактирования записи. Единственный вариант, который я вижу.
Разработчики Discord говорили, что если какие-то файлы размещались у них «для постоянного хранения», то их надо было перезалить себе в другое место до конца 2023 (фактически до начала февраля 2024, у меня с этого момента перестали ссылки на cdn.discordapp.com без аргументов работать).
Контент Дискорда
в Техническая поддержка Invision Community
Опубликовано · Изменено пользователем Chrome-Vanadium
неполный ответ.
Да можно по всей базе пройтись заменой cdn.discordapp.com/media.discordapp.net на cdn.discordapp.xyz, не парясь насчёт ручного редактирования каждого поста. Опять же, не забываем про бэкапы. https://stackoverflow.com/questions/11839060/