Discord의 암호화 가격 - 봇

Discord의 암호화 가격 - 봇



오랜 지연에 대해 유감스럽게 생각합니다. 하지만 이것은 암호 화폐 가격을 Discord로 가져오는 제 시리즈의 두 번째이자 마지막 부분입니다. 이 튜토리얼에서는 Discord 봇을 사용합니다.

설정



봇 템플릿을 만들기 위해 create-discord-bot 이라는 멋진 프로젝트를 사용할 것입니다.

Unix 기반 시스템의 경우 bash에서 실행하고 Windows의 경우 Git bash에서 실행합니다npx peterthehan/create-discord-bot. 표시되는 질문을 작성하면 Discord 봇을 사용할 준비가 된 것입니다.

우리는 또한 암호화폐 가격을 얻기 위해 CoinGecko API를 사용할 것이므로 npm install --save coingecko-api 를 실행하십시오.

현재 봇 작동 방식



우리 봇은 현재 위젯 기반 프레임워크에서 실행됩니다. 폴더widgets 아래에 있는 모든 폴더는 위젯으로 간주되며 모든 위젯에는 handlers 이벤트 이름을 가진 .js 파일이 있는 폴더discord.js가 포함되어야 합니다. 하나의 위젯command이 함께 제공되며 자체 명령 시스템이 있습니다. 명령을 commands 폴더에 삽입하고 CommandBuilder 클래스를 사용하여 명령을 생성할 수 있습니다.

봇 프로그래밍



먼저 npm run dev를 실행하여 nodemon 봇을 다시 시작할 필요가 없도록 해야 합니다.
command/commands 라는 coinPrice.js 폴더에 새 파일을 만듭니다. 다음을 그 안에 넣으십시오.

const CommandBuilder = require("../classes/CommandBuilder");

const CoinGecko = require("coingecko-api");

const CoinGeckoClient = new CoinGecko();

module.exports = new CommandBuilder()
  .setName("coinprice")
  .setAliases(["coin", "price"])
  .setOwnersOnly(false)
  .setGuildOnly(false)
  .setRequireArgs(true)
  .setDeletable(false)
  .setCooldown(10)
  .setDisabled(false)
  // eslint-disable-next-line
  .setExecute(async (message, user, args) => {
    let data = await CoinGeckoClient.simple.price({
      ids: [args[0]],
      vs_currencies: [args[1]],
    });
    await message.channel.send(
      `${args[2] || 1} ${args[0]} -> ${
        data.data[args[0]][args[1]] * (args[2] || 1)
      } ${args[1]}`
    );
  });



기본적으로 다음 형식으로 명령coin을 실행할 수 있습니다. .coin <coinToCheck> <currencyToCompareAgainst> [optionalAmountForCoinToCheck]

마무리 생각



여백 비교 및 ​​할 수 있는 다른 작업과 같은 명령을 더 추가해 보세요.

경고 create-discord-bot project은 현재 프로젝트를 변경할 필요가 없는 방식으로 코드베이스를 Typescript로 마이그레이션하는 몇 가지 주요 변경 작업을 진행 중입니다. 그래도 이를 위해 프로젝트를 변경해야 할 수도 있습니다.

Source code on Github

좋은 웹페이지 즐겨찾기