Перейти к содержанию

Chrome-Vanadium

Пользователи
  • Постов

    11
  • Зарегистрирован

  • Посещение

  • Победитель дней

    1

Сообщения, опубликованные Chrome-Vanadium

  1. В 29.03.2024 в 14:08, t_reks сказал:

    не совсем понял, где что менять, но руками каждую ссылку можно и так восстановить, так как сами ссылки внутри дискорда остались рабочими.

    Да можно по всей базе пройтись заменой cdn.discordapp.com/media.discordapp.net на cdn.discordapp.xyz, не парясь насчёт ручного редактирования каждого поста. Опять же, не забываем про бэкапы. https://stackoverflow.com/questions/11839060/

  2. В 23.02.2024 в 16:45, t_reks сказал:

    так как хоть фото и хранятся на одном сервере дискорда, за 4 года там ничего толком не найти

    На днях мне написали, что появился сервис, который hotlinking восстанавливает. cdn.discordapp.com или media.discordapp.net меняешь на cdn.discordapp.xyz и ссылки восстанавливаются.

  3. 4 часа назад, Zero108 сказал:

    Там ответы из разных форумов собираются в один виджет или из одного?

    Со всего форума по разделам, доступным для просмотра. С других форумов данные не берутся.

    4 часа назад, Zero108 сказал:

    настроить фильтрацию по автору.

    А если в группе будет 30+ человек? Руками вписывать каждого будет малость неудобно. :|
    Всë-таки склоняюсь к варианту, что это может быть самописный виджет.

  4. Wargaming на своих форумах (уже уходящих в небытие) на главной странице показывала виджет, где были ответы от пользователей в группе «Разработчики» (бывший СНГ-регион) или 'WG Staff'. Их форумы использовали Invision Community 3. Не могу понять, каким виджетом в Invision Community 4 можно реализовать аналогичное. Это точно не «Лента сообщений» и не «Лента тем»?

    Спойлер

    image.png.4134fa976cda5977ae6d402628576cdb.png

     

  5. Для совместимости с 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

     

  6. 8 минут назад, t_reks сказал:

    это решение для новых постов, так палагаю?

    Для всех постов.
    Если тебе нужно массово спарсить канал, у твоего бота должно быть разрешение на «чтение истории сообщений». Затем ему загоняешь команду, которая запрашивает сообщения с даты по дату. В ответ получаешь массив объектов сообщений, из которого можно выдернуть массив объектов вложенийПо идее, это должно вернуть ссылки на изображения с проставленными expire-данными. На деле не проверял, в программе, где мне потребуется это реализовать, ещё не дошёл до этого.

    UPD: ссылки на документацию к Discord API поело, смотреть тут:

  7. 4 минуты назад, t_reks сказал:

    плюс как найти зависимость в том же Дискорде

    media.discordapp.net/attachments/<id канала>/<id сообщения>/<название файла и расширение> — путь к вложению.
    discord.com/channels/<id сервера>/<id канала>/<id сообщения> — путь к сообщению.

  8. 7 минут назад, t_reks сказал:

    Но Дискорд обновил вложения и видоизменил ссылки.

    Discord специально так сделали, чтобы их перестали использовать в качестве хранилища файлов. Единственный вариант обойти эту проблему — попробовать написать бота, который будет мониторить ссылки в Discord и подавать новые аргументы с ограниченным сроком действия, и отдавать это в расширение движка форума. Вопрос в другом, изображения публиковались с одного сервера или с разных? Тогда такой вариант не подойдёт.

    13 минут назад, t_reks сказал:

    Учитывая большой обьем тем, есть ли вариант некой замены ссылок?

    Через БД это будет вряд ли эффективно, а выяснять, к какому сообщению принадлежит вложение в Discord, может быть дорого с точки зрения производительности и перезалить путём редактирования записи. Единственный вариант, который я вижу.

    Разработчики Discord говорили, что если какие-то файлы размещались у них «для постоянного хранения», то их надо было перезалить себе в другое место до конца 2023 (фактически до начала февраля 2024, у меня с этого момента перестали ссылки на cdn.discordapp.com без аргументов работать).

×
×
  • Создать...