atls / team-management

Team management app
BSD 3-Clause "New" or "Revised" License
0 stars 0 forks source link

страница пользователей #32

Closed ssagg closed 3 months ago

ssagg commented 4 months ago

С чем связан запрос на фичу?

Поление данных репозитория, трансляция на фронт

Расскажите как вы это себе видите

Definition of done (критерий готовности)

Получены данные от API

Приложите пример реализаций

https://www.figma.com/design/2vNHefkDcMKAFSnw69RbMM/Team-management-system

Приложите материалы задачи

No response

ssagg commented 4 months ago

@Nelfimov @aliceinapple привет. Таймер на карточке пользователя за что у нас отвечает? и Чекбоксы в карточке только, как визуальная информация, какие сервисы подключены, или они активные? подразумевается какой-то экшн при нажатии?

Screenshot 2024-07-04 121120
Nelfimov commented 4 months ago

@aliceinapple ^

aliceinapple commented 4 months ago

@ssagg

Таймер на карточке пользователя за что у нас отвечает? и Чекбоксы в карточке только, как визуальная информация, какие сервисы подключены, или они активные? подразумевается какой-то экшн при нажатии?

Не знакома с проектом, есть ссылка на дизайн, чтобы я могла посмотреть полную картину?

ssagg commented 4 months ago

@aliceinapple https://www.figma.com/design/2vNHefkDcMKAFSnw69RbMM/Team-management-system

aliceinapple commented 4 months ago

@ssagg

Чекбоксы в карточке только, как визуальная информация, какие сервисы подключены, или они активные? подразумевается какой-то экшн при нажатии?

Судя по тому что я вижу, в дизайне нет поля для редактирования добавленных сервисов, похоже, что они нужны просто для отображения информации (подключенные сервисы)

Таймер на карточке пользователя за что у нас отвечает?

Тут не понятно, для чего он, @Nelfimov помоги

Nelfimov commented 4 months ago

Тут не понятно, для чего он, @Nelfimov помоги

Можно же задать вопрос в фигме дизайнеру.

aliceinapple commented 4 months ago

@ssagg

https://www.figma.com/design/2vNHefkDcMKAFSnw69RbMM?node-id=1388-2354#864349867

kirill-ivanovvv commented 3 months ago

@Nelfimov подскажи пожалуйста каких пользователей выводить. 2 варианта:

  1. мы выводим на эту странцу только тех пользователей, у которых висят приглашения в организцаю
    • тогда после вступления пользователя в организацию, даже если у этого пользователя не все критерии онбординга выполнены он не будет отображаться в списке.
  2. нужно делать запрос всех пользователей во всех организациях, к которым у нас есть доступ (первый запрос) -> фильтр на уникальность. + пользователи с висячими приглашениями (второй запрос)
    • тогда, после того как пользователь примет приглашение, мы не сможем трекать время онбординга (таймер в UI)
      • связывать локально айди пользователя (почту/email) и время приглашения?

https://docs.github.com/en/rest/orgs/members?apiVersion=2022-11-28#list-pending-organization-invitations

Nelfimov commented 3 months ago

Непонятно о какой "эту страницу" идет речь. Если это индексная, то 2.

kirill-ivanovvv commented 3 months ago
  • [ ] запись времени отправки приглашения (куда?)
  • [ ] чтение времени отправки приглашения (откуда?)

@Nelfimov подскажи пожалуйста какой инструмент лучше использовать для таких минимальных записей на локалку?

будет что-то +- такое:

[
    {
       userEmail,
       githubUserId,
       invitationTime,
    }
    ...
]
kirill-ivanovvv commented 3 months ago

в конвенции нашел вот этот абзац + инвайт мы отсылаем на 4 сервиса. image следовательно карточка у нас должна трекать 7 позиций:

там еще есть бейдж и удаление из орг-ии


  1. в профиле гитхаба должен быть открыт email
  2. email в github, figma и discord должен совпадать
  3. username в github и telegram должен совпадать. либо начальная его часть, н-р: @someusername @someusername_telegramPostfix
Nelfimov commented 3 months ago
  • дай саппорт по этому поинту. где будем проверять аватар? или нужно чтобы он был прям везде одинаковый?)

Пока ограничимся аватаром в гх.

Насчёт бд - не усложняешь? Как минимум гх даёт доступ к чтению пендингов

kirill-ivanovvv commented 3 months ago

не усложняешь

возможно усложняю, завтра пересмотрю

Nelfimov commented 3 months ago

И давай идти постепенно вместе - реализуем одну интеграцию за другой.

Какие то из них будем думать как сделать вместе.

Важно чтобы мы не тормозили к нашему дедлайну - конец следующей недели.

kirill-ivanovvv commented 3 months ago

Насчёт бд - не усложняешь? Как минимум гх даёт доступ к чтению пендингов

по этому моменту не понимаю, как сделать так, чтобы мы мы могли трекать время онбординга после того, как пользователь добавился в организацию. например время онбордина - 48 часов, но пользователь присоединился к организации сразу, не выполнив всех условий. соответственно таймер получить мы не сможем

Nelfimov commented 3 months ago

@TorinAsakura сейчас в проекте у нас только фронт. Для трекинга времени онбординга нужно где-то хранить дату направления инвайта. Варианты вижу такие:

kirill-ivanovvv commented 3 months ago

И давай идти постепенно вместе - реализуем одну интеграцию за другой.

а я везде пишу вывод всех юсеров со всех организаций, сейчас подумал о том, что инвайт у нас идет на "стандартную организацию", которую сохраняем в env.

вопрос вот в чем: выводить всех юсеров из всех организаций? или выводить юсера из "дефолнтной"?

Nelfimov commented 3 months ago

выводить всех юсеров из всех организаций?

Да

kirill-ivanovvv commented 3 months ago

следовательно карточка у нас должна трекать 7 позиций:

  • [ ] 1. пользователь присоединился к основной команде гитхаб (апи гитхаба)
  • [ ] 2. ползьватель присоединился к команде в фигма (??смотри доки фигмы)
  • [ ] 3. пользователь присоединился к группе дискорд (??смотри доки дискорд)
  • [ ] 4. пользователь присоединился к чату телеграм (нужен бот для этого)
  • [ ] 5. в гитхаб настроенна 2FA (апи гитхаба)
  • [ ] 6. в гитхаб настроенно GPG (апи гитхаба)
  • [ ] 7. в дизайне есть пункт avatar (@Nelfimov дай саппорт по этому поинту. где будем проверять аватар? или нужно чтобы он был прям везде одинаковый?) image

@Nelfimov посмотри пожалуйста вот эти пункты, может чтото забыл или лишнее добавил. сейчас карточку рефакторю, собираю запрос на всех юсеров

Nelfimov commented 3 months ago

@Nelfimov посмотри пожалуйста вот эти пункты, может чтото забыл или лишнее добавил. сейчас карточку рефакторю, собираю запрос на всех юсеров

Ок

kirill-ivanovvv commented 3 months ago

@Nelfimov, по БД так и не определились

Нужны уточнения:

  • [x] 1. пользователь присоединился к основной команде гитхаб (апи гитхаба)
  • [ ] 2. ползьватель присоединился к команде в фигма (??смотри доки фигмы)
  • [ ] 3. пользователь присоединился к группе дискорд (??смотри доки дискорд)
  • [ ] 4. пользователь присоединился к чату телеграм (нужен бот для этого)
  • [ ] 5. в гитхаб настроенна 2FA (апи гитхаба)
  • [ ] 6. в гитхаб настроенно GPG (апи гитхаба)
  • [ ] 7. в дизайне есть пункт avatar (@Nelfimov дай саппорт по этому поинту. где будем проверять аватар? или нужно чтобы он был прям везде одинаковый?) image
  1. Не могу найти ендпоинт в АПИ (смотрел и graphqlApi и rest)
  2. Не могу найти ендпоинт в АПИ (смотрел и graphqlApi и rest)
  3. Если у пользователя нет аватара, гитхаб ставит свою заглушку. По апи мы получаем свойство avatarUrl, которое в любом случае будет не пустой строкой, поэтому как сделать проверку на аватар? что-то типа userHasAvatar - нет.

пока переключусь на другие сервисы.

Nelfimov commented 3 months ago

5. Не могу найти ендпоинт в АПИ (смотрел и graphqlApi и rest)

https://stackoverflow.com/a/55003560

6. Не могу найти ендпоинт в АПИ (смотрел и graphqlApi и rest)

Пока пропусти - для проверки этого нужен коммит пользователя.

7. Если у пользователя нет аватара, гитхаб ставит свою заглушку. По апи мы получаем свойство avatarUrl, которое в любом случае будет не пустой строкой, поэтому как сделать проверку на аватар? что-то типа userHasAvatar - нет.

Посмотри не подчиняется ли дефолтная аватарка некоему правилу в URL. Если так - просто проверяешь на соответствие маске.

  • через апи фигмы не могу получить участников команды, такого метода нет (находил несколько постов (относительно недавних) на их формуме, люди просят этот метод). Есть метод по получению лога активности, там должна быть (в детали пока не вдавался) информация по недавним вступлениям в организацию. получу её, профильтрую и буду проставлять мемберам true, если они есть в массиве.

GET /v1/teams/{team_id}/projects

Там будут collaborators

  • дискорд апи еще не смотрел.
Код ```typescript import { Client, GatewayIntentBits, Partials } from 'discord.js'; // Вставьте сюда ваш токен const TOKEN = 'YOUR_BOT_TOKEN'; // Вставьте сюда ID вашего сервера const GUILD_ID = 'YOUR_GUILD_ID'; const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMembers ], partials: [Partials.GuildMember] }); client.once('ready', async () => { console.log(`Мы вошли как ${client.user?.tag}`); const guild = await client.guilds.fetch(GUILD_ID); if (guild) { const members = await guild.members.fetch(); console.log(`На сервере ${guild.name} ${members.size} участников:`); members.forEach(member => { console.log(`${member.user.tag}`); }); } client.destroy(); }); client.login(TOKEN); ``` - TOKEN: Токен вашего бота, который вы можете получить на [Discord Developer Portal](https://discord.com/developers/applications). - GUILD_ID: ID сервера (гильдии), который можно найти, щелкнув правой кнопкой мыши на сервер и выбрав “Copy ID” (если включен режим разработчика).
kirill-ivanovvv commented 3 months ago
  • телеграм мне будет сделать проще всего, я уже делал проверку по пользователям в группе

@Nelfimov на этом моменте встреваю

  1. мы можем сделать поиск по участникам телеграм чата, только при помощи telegram-user-id
  2. с гитхаба нам не приходят эти данные, приходит только username и email.
  3. мы можем узнать telegram-user-id после того, как пользователь вел чат с ботом. отправляя сообщение от лица бота, нам приходит response с chat-id, который совпадает с айди пользователя
  4. в telegram-bot-api нет функции поиска
Nelfimov commented 3 months ago
  • телеграм мне будет сделать проще всего, я уже делал проверку по пользователям в группе

@Nelfimov на этом моменте встреваю

  1. мы можем сделать поиск по участникам телеграм чата, только при помощи telegram-user-id
  2. с гитхаба нам не приходят эти данные, приходит только username и email.
  3. мы можем узнать telegram-user-id после того, как пользователь вел чат с ботом. отправляя сообщение от лица бота, нам приходит response с chat-id, который совпадает с айди пользователя
  4. в telegram-bot-api нет функции поиска

Попробуй так:

  1. посмотреть через бота кто в чате
  2. сопоставить ник в тг с ником в гх
kirill-ivanovvv commented 3 months ago
  • посмотреть через бота кто в чате
  • сопоставить ник в тг с ником в гх

да, это понимаю я не могу получить список всех мемберов, потомучто в апи телеграм бота нету такого метода. нашел только этот: image

  1. он работает только с user_id, username не принимает
Nelfimov commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API.

Как-то по другому можно реализовать или выпиливаем?

kirill-ivanovvv commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API.

Как-то по другому можно реализовать или выпиливаем?

вообще, вот такая штука есть: https://gram.js.org/tl/channels/GetParticipants#channelsgetparticipants

kirill-ivanovvv commented 3 months ago

Там будут collaborators

@Nelfimov по этому эндпоинту точно collaborators должны приходить? в доках такой инфы нет, и на мой запрос приходит ответ без collaborators. тестового сотрудника добавил.

Nelfimov commented 3 months ago

Вышли твой ответ

kirill-ivanovvv commented 3 months ago

Вышли твой ответ

{
    "name": "Kirill Ivanov's team",
    "projects": [
        {
            "id": "75174931",
            "name": "Team project"
        }
    ]
}
Nelfimov commented 3 months ago

Все разрешения токену дал?

kirill-ivanovvv commented 3 months ago

ошибка импорта может быть изза точки в названии пакета?

app-1   | Module not found: Can't resolve 'discord'
app-1   | > 1 | import { Client }            from 'discord.js'
app-1   |   2 | import { GatewayIntentBits } from 'discord.js'
app-1   |   3 | import { Partials }          from 'discord.js'
app-1   |   4 |
app-1   | 

Все разрешения токену дал?

щас перепроверю

kirill-ivanovvv commented 3 months ago

Все разрешения токену дал?

максимальные разрешения, результат не изменился

image image

Nelfimov commented 3 months ago

Попробуй еще раз посмотреть https://www.figma.com/developers/api

Если метода нет - пропускаем.

Nelfimov commented 3 months ago

Обязательно отпишись.

kirill-ivanovvv commented 3 months ago

Обязательно отпишись.

в доках вот такой пример response указан, собственно какой и приходит: image по имени member, collaborator, team во всей документации искал - пусто


в ендпоинте акитвити лога есть такое свойство: image

Nelfimov commented 3 months ago

в ендпоинте акитвити лога есть такое свойство:

Без ссылок тяжело понимать о чем речь

kirill-ivanovvv commented 3 months ago

в ендпоинте акитвити лога есть такое свойство:

Без ссылок тяжело понимать о чем речь

https://www.figma.com/developers/api#activity-logs-action-types

вот такой пункт обнаружил сейчас: image у нас не Enterprise plan случайно?

Nelfimov commented 3 months ago

у нас не Enterprise plan случайно?

@TorinAsakura вопрос по фигме.

@effektivnayarabota1 идем параллельно дальше.

TorinAsakura commented 3 months ago

у нас не Enterprise plan случайно?

@TorinAsakura вопрос по фигме.

@effektivnayarabota1 идем параллельно дальше.

Нет конечно

kirill-ivanovvv commented 3 months ago

@Nelfimov

UPD

походу разобрался. обновил next до последней 14й версии, добавил в вебпак вот такую запись:

    webpackConfig.module.rules.push({
      test: /\.node$/,
      loader: 'node-loader',
    })

ошибка с пакетом discord.js

  1. расширил regex в webpackConfig, чтобы он читал этот пакет. есть внутренние пакеты, которые тоже с точкой

    // в названии пакета есть ".js", поэтому меняю регекс
    webpackConfig.plugins.push(
      new webpack.NormalModuleReplacementPlugin(new RegExp(/^(\.{1,2}\/)+\S*\.js$/), function (
        /** @type {{ request: string }} */
        resource
      ) {
        resource.request = resource.request.replace('.js', '')
      })
    )
  2. добавил внутренний пакет zlib-sync в packageExtentions, была ошибка зависимостей.

  3. скрипт исполняется на сервере, сделал апи роут http://localhost:3000/api/get-discord-server-members

  4. актуальный код в ветке feat/users-page

  5. LOG
app-1   | (node:34) Warning: [Warning] The runtime detected new information in a PnP file; reloading the API instance (/workspace/.pnp.cjs)
app-1   | (Use `node --trace-warnings ...` to show where the warning was created)
app-1   |    ▲ Next.js 14.1.0
app-1   |    - Local:        http://localhost:3000
app-1   |    - Environments: .env
app-1   |    - Experiments (use at your own risk):
app-1   |      · externalDir
app-1   |      · esmExternals
app-1   |      · outputFileTracingRoot
app-1   | 
app-1   |  ✓ Ready in 6.1s
app-1   |  ○ Compiling /api/get-discord-server-members ...
app-1   |  ⨯ ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/lib/web/fetch/util.js
app-1   | Module parse failed: Unexpected token (693:63)
app-1   | |             // 5. If object is not a default iterator object for interface,
app-1   | |             //    then throw a TypeError.
app-1   | >             if (typeof this !== "object" || this === null || !(#target in this)) {
app-1   | |                 throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`);
app-1   | |             }
app-1   | 
app-1   | Import trace for requested module:
app-1   | ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/lib/web/fetch/util.js
app-1   | ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/lib/web/fetch/index.js
app-1   | ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/index.js
app-1   | ../../../../.yarn/cache/discord.js-npm-14.15.3-0c74284e59-b18decbe8a.zip/node_modules/discord.js/src/util/DataResolver.js
app-1   | ../../../../.yarn/cache/discord.js-npm-14.15.3-0c74284e59-b18decbe8a.zip/node_modules/discord.js/src/index.js
app-1   | ../../../../.yarn/__virtual__/@globals-third-party-service-data-virtual-8cd9a1abbe/1/globals/third-party-service-data/src/hooks/get-discord-server-members.hook.ts
app-1   | ../../../../.yarn/__virtual__/@globals-third-party-service-data-virtual-8cd9a1abbe/1/globals/third-party-service-data/src/hooks/index.ts
app-1   | ../../../../.yarn/__virtual__/@globals-third-party-service-data-virtual-8cd9a1abbe/1/globals/third-party-service-data/src/index.ts
app-1   | ../../../api/get-discord-server-members/src/get-discord-server-members.api.ts
app-1   | ../../../api/get-discord-server-members/src/index.ts
app-1   | ./app/api/get-discord-server-members/route.ts
app-1   | <w> [webpack.cache.PackFileCacheStrategy] Caching failed for pack: Error: ENOENT: no such file or directory, rename '/workspace/app/entrypoints/renderer/src/.next/cache/webpack/client-development-fallback/1.pack.gz_' -> '/workspace/app/entrypoints/renderer/src/.next/cache/webpack/client-development-fallback/1.pack.gz'
app-1   |  ⨯ ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/lib/web/fetch/util.js
app-1   | Module parse failed: Unexpected token (693:63)
app-1   | |             // 5. If object is not a default iterator object for interface,
app-1   | |             //    then throw a TypeError.
app-1   | >             if (typeof this !== "object" || this === null || !(#target in this)) {
app-1   | |                 throw new TypeError(`'next' called on an object that does not implement interface ${name} Iterator.`);
app-1   | |             }
app-1   | 
app-1   | Import trace for requested module:
app-1   | ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/lib/web/fetch/util.js
app-1   | ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/lib/web/fetch/index.js
app-1   | ../../../../.yarn/cache/undici-npm-6.13.0-1545cd855e-4ec2038e95.zip/node_modules/undici/index.js
app-1   | ../../../../.yarn/cache/discord.js-npm-14.15.3-0c74284e59-b18decbe8a.zip/node_modules/discord.js/src/util/DataResolver.js
app-1   | ../../../../.yarn/cache/discord.js-npm-14.15.3-0c74284e59-b18decbe8a.zip/node_modules/discord.js/src/index.js
app-1   | ../../../../.yarn/__virtual__/@globals-third-party-service-data-virtual-8cd9a1abbe/1/globals/third-party-service-data/src/hooks/get-discord-server-members.hook.ts
app-1   | ../../../../.yarn/__virtual__/@globals-third-party-service-data-virtual-8cd9a1abbe/1/globals/third-party-service-data/src/hooks/index.ts
app-1   | ../../../../.yarn/__virtual__/@globals-third-party-service-data-virtual-8cd9a1abbe/1/globals/third-party-service-data/src/index.ts
app-1   | ../../../api/get-discord-server-members/src/get-discord-server-members.api.ts
app-1   | ../../../api/get-discord-server-members/src/index.ts
app-1   | ./app/api/get-discord-server-members/route.ts
app-1   |  ✓ Compiled /_error in 271ms (553 modules)
app-1   |  ⚠ Fast Refresh had to perform a full reload due to a runtime error.

TorinAsakura commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API.

Как-то по другому можно реализовать или выпиливаем?

погоди, о каком боте идёт речь? Через кого ты хочешь проверять наличие телеги, а главное какой и для чего? Ничего не понимаю

kirill-ivanovvv commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API. Как-то по другому можно реализовать или выпиливаем?

погоди, о каком боте идёт речь? Через кого ты хочешь проверять наличие телеги, а главное какой и для чего? Ничего не понимаю

в условаия онбордина входит телеграм, это по дизайну image как я понял речь идет о подключении к чату

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

TorinAsakura commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API. Как-то по другому можно реализовать или выпиливаем?

погоди, о каком боте идёт речь? Через кого ты хочешь проверять наличие телеги, а главное какой и для чего? Ничего не понимаю

в условаия онбордина входит телеграм, это по дизайну image как я понял речь идет о подключении к чату

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

чот вы тут намудрили, нам просто нужно проверить, что пользователь с нужным нам никнеймом находится в нашей группе, организации, сервере

TorinAsakura commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API. Как-то по другому можно реализовать или выпиливаем?

погоди, о каком боте идёт речь? Через кого ты хочешь проверять наличие телеги, а главное какой и для чего? Ничего не понимаю

в условаия онбордина входит телеграм, это по дизайну image как я понял речь идет о подключении к чату

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

в телеге и дискорде мы спокойно можем получить эти данные посредством апи, там элементарный запрос на апи

с фигмой, к сожалению облом, там вообще нет никаких нативных средств (да и не нативных), так что фигму пока можем убирать из этой итерации

kirill-ivanovvv commented 3 months ago

@TorinAsakura пока не вижу как можно проверить наличие телеги через бота. Только если делать какую-то схему с написанием сообщения на бота, а затем проверять через API. Как-то по другому можно реализовать или выпиливаем?

погоди, о каком боте идёт речь? Через кого ты хочешь проверять наличие телеги, а главное какой и для чего? Ничего не понимаю

в условаия онбордина входит телеграм, это по дизайну image как я понял речь идет о подключении к чату я выписывал условия онбординга, у меня сеь штук получилось

в телеге и дискорде мы спокойно можем получить эти данные посредством апи, там элементарный запрос на апи

с фигмой, к сожалению облом, там вообще нет никаких нативных средств (да и не нативных), так что фигму пока можем убирать из этой итерации


в telegram bot api есть только такой метод, чтобы вытащить мембера из группы: он принимает user id, а user id нам не приходит. можно узнать его по юсернейму только после взаимодействия с ботом image


есть вот такая штука. это не bot api, а полный апи телеграмма, типо приложение телеграмм. мы будем его использовать? должно сработать. https://gram.js.org/tl/channels/GetParticipants#channelsgetparticipants

kirill-ivanovvv commented 3 months ago

@Nelfimov дискорд делаю по гайду, что ты скинул он у меня запустился только после того, как добавил WS_NO_BUFFER_UTIL=true в .env source много времени на это уже потратил, он не работает. сейчас такая ошибка:

app-1   |     at async Client.eval (webpack-internal:///(rsc)/./app/api/get-discord-server-members/route.ts:27:23) {
app-1   |   requestBody: { files: undefined, json: undefined },
app-1   |   rawError: { message: 'Unknown Guild', code: 10004 },
app-1   |   code: 10004,
app-1   |   status: 404,
app-1   |   method: 'GET',
app-1   |   url: 'https://discord.com/api/v10/guilds/1267841184915521570?with_counts=true'
app-1   | }

ошибки постепенно решаю, но на это уходит время

пробовал сделать http запрос - была ошбика на авторизации, вернулся к этой библиотеке.

TorinAsakura commented 3 months ago

@Nelfimov дискорд делаю по гайду, что ты скинул он у меня запустился только после того, как добавил WS_NO_BUFFER_UTIL=true в .env source много времени на это уже потратил, он не работает. сейчас такая ошибка:

app-1   |     at async Client.eval (webpack-internal:///(rsc)/./app/api/get-discord-server-members/route.ts:27:23) {
app-1   |   requestBody: { files: undefined, json: undefined },
app-1   |   rawError: { message: 'Unknown Guild', code: 10004 },
app-1   |   code: 10004,
app-1   |   status: 404,
app-1   |   method: 'GET',
app-1   |   url: 'https://discord.com/api/v10/guilds/1267841184915521570?with_counts=true'
app-1   | }
  • айди гильдии копирую по гайду, из интерфейса приложения, он совпадает с url гильдии в браузере.
    • бот состоит в гильдии
    • по разрешениям вроде все ок

ошибки постепенно решаю, но на это уходит время

пробовал сделать http запрос - была ошбика на авторизации, вернулся к этой библиотеке.

так, ты интеграциями пока не заморачивайся, делай пока только фронтовые куски, данные пока тупо мокай, с интеграциями это вообще будет отдельный стрим…когда-нибудь

@Nelfimov заем ты ему это дал? Тут мне-то нужно посидеть подумать, а ты его швырнул на это.

kirill-ivanovvv commented 3 months ago

@Nelfimov подскажи пожалуйста, почему ts себя так ведет жалуется на то, что свойства id не существует, хотя оно существует image image

TorinAsakura commented 3 months ago

@Nelfimov подскажи пожалуйста, почему ts себя так ведет жалуется на то, что свойства id не существует, хотя оно существует image image

  1. Ссылкой на коммит/строку
  2. Потом вопрос