Задать вопрос
morfiscam
@morfiscam
Developer bot in Discord and design

Не могу отправить POST запрос на pastebin?

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

const userMessages = await getUserMessages(targetId, 50);
    const pasteContent = userMessages.map((msg) => {
      const timestamp = new Date();
      return `[${timestamp.toLocaleDateString()} ${timestamp.toLocaleTimeString()}] ${user.first_name}: ${msg}`;
    }).join('\n');

    if (!pasteContent || pasteContent.trim() === '') {
      return await ctx.reply('Ошибка: Не удалось получить сообщения для логов.');
    }

    const pasteLink = await pasteToPastebin(pasteContent);

    if (!pasteLink) {
      return await ctx.reply('Ошибка при создании логов. Повторите позже.');
    }


Я думаю он верный, ошибка в этом.

async function pasteToPastebin(content) {
  try {
    if (!content || content.trim() === '') {
      console.error('Ошибка: Пустой контент для пасты');
      return null;
    }

    const response = await fetch(PASTEBIN_API_URL, {
      method: 'POST',
      headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
      body: new URLSearchParams({
        api_dev_key: PASTEBIN_API_KEY,
        api_user_key: PASTEBIN_USER_API_KEY,
        api_option: 'paste',
        api_paste_data: content, 
        api_paste_expire_date: '1M',
        api_paste_name: 'logs',
      }),
    });

    const responseText = await response.text();
    console.log('Ответ от Pastebin:', responseText);

    if (responseText.includes('Bad API request')) {
      console.error('Ошибка при отправке пасты на Pastebin:', responseText);
      return null;
    }

    return responseText;  
  } catch (error) {
    console.error('Ошибка при отправке данных на Pastebin:', error);
    return null;
  }
}


async function getUserMessages(userId, limit = 50) {
  try {
    const messages = await UserMessages.find({ userId })
      .sort({ timestamp: -1 })
      .limit(limit);
    return messages.map((msg) => msg.text);
  } catch (error) {
    console.error('Ошибка при получении сообщений пользователя:', error);
    return [];
  }
}

module.exports = { pasteToPastebin, getUserMessages };


Моя ошибка:
Ответ от Pastebin: Bad API request, api_paste_code was empty
Ошибка при отправке пасты на Pastebin: Bad API request, api_paste_code was empty
  • Вопрос задан
  • 33 просмотра
Подписаться 1 Средний Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ну вам же на двух языках пишут: вы не заполнили параметр api_paste_code. У вас почему-то содержимое передаётся в api_paste_data, о котором документация ничего знает.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы