Git Product home page Git Product logo

mogiri's People

Contributors

kawaguti avatar sasakendayo avatar springaki avatar ytommy109 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

mogiri's Issues

Organize multiple conferences

Currently we are assuming one conference (Eventbrite) and one Discord role, but we would like to support multiple. Now that #9 is available, I think we can have the relationship data for config.

現在は一つのカンファレンス(Eventbrite)、一つのDiscordロールを想定しているが、複数に対応したい。 #9 ができたので、configに対応に関するデータを持つことができると思う。

Introduce BDD style test

I want to introduce BDD-style testing. In addition, I'd like to introduce some functions to make testing easier: Eventbrite response, input from Discord, and operation to Discord.

BDDスタイルのテストを導入したい。合わせて、function をいくつか導入してテストをしやすくする。Eventbrite応答部、Discordからの入力部、Discordへの操作部の3つは分けられると思う。

change env values from .env -> config.json

Introduce a config module to make it easier to manage the parameters of the production and development environments.

本番環境と開発環境のパラメータを管理しやすいように、config モジュールを導入する

Logging enhancement

We currently rely on console.log, but I would like to be able to specify the log level and output so that we can log in the production environment.

現在はconsole.logに依存しているが、本番環境でログを記録できるように、ログレベルを指定して出力できるようにしたい

Eventbrite api http Error Code was changed from 400 to 403

When the order is not exist on Eventbrite, http return code was 400, but now returned 403.

if (error.response.status == 400) { message.reply("あら、" + eventbrite_order_id + "はEventbrite上に見当たりませんでした。10桁のOrder番号をご確認ください。"); }
should be changed.

Eventbriteに注文が存在しない場合、httpのリターンコードは400でしたが、403が返されるようになりました。

Sync invitation Discord ID data from google spread sheet

Want to be able to import and synchronize an invitation list in Google Spreadsheet.
Google Spreadsheet 上にある招待リストを読み込んで同期できるようにしたい

  • config
    • google spreadsheet URL
    • google spreadsheet authentication information
    • invitations[]
      • category name : google spreadsheet cell
      • discord IDs : google spreadsheet range
  • command
    • "mogiri: update invitation list"
    • return: "@sender, updated invitation list from google spreadsheet"
    • errors : "@sender, I cannot access google spreadsheet for some reason"

Currently, no check of event ID

Order IDs are globally unique, regardless of the event, so I'm starting to think that they'll go through even if you're making other purchases instead of scoffing.

In other words, if you give the bot a set of event IDs and role names to attach, it will work for any event.

If we assume that the event will be run on various servers at the same time, it would not be good if the bot add roles in server A affects the number of roles on server B.

It looks like a unique transaction are with the keys : event ID, OrderID, number of purchases, Discord server, Discord ID.

Order IDってイベント関係なくてグローバルに一意なので、スクフェスじゃなくて他の購入してても通っちゃう気がしてきた

逆にいうと、イベントIDと付けるロール名のセットを与えれば、どんなイベントでもボットが動きそう。

いろんなサーバで同時に動かされることも想定するとAサーバでロールつけるとBサーバではもう数が超過しちゃうとかは良くなさそうだな。

イベントID, OrderID, 購入数, Discordサーバ, Discord ID でユニークなトランザクションっぽい

Journal File

If the result of the process is output to a text file, you can check the process later.

もし、処理の結果がテキストファイルに出力されていれば、あとで処理内容を確認することができる。

Eventbrite: Check status of Order

In currently, just check the Order Id is valid or not.
But often people canceled and withdrawed payment, or maybe some order will be canceled because the payment would not take place.
I guess the status might be appear on Order object in Eventbrite.

現状では、オーダーIDが有効かどうかをチェックするだけです。
しかし、しばしば人々がキャンセルして支払いを撤回したり、支払いが行われないために注文がキャンセルされたりすることがあります。
EventbriteのOrderオブジェクトにステータスが表示されているのではないかと思います。

Eventbrite: Check multiple attendees in an Order

In Eventbrite, people often buy multiple tickets in one order.
A popular use case is some representative person buys tickets for her colleagues.
It means an order id has multiple attendees.

  1. need to check number of usage of each order ID
  2. retrieve the number of tickets related with an Order ID in Eventbrite
  3. if some Order ID called over the number of tickets, stop adding Discord Role,

If the event does not sell multiple tickets in one conference, there are no problem.

Eventbriteでは、1回の注文で複数のチケットを購入することがよくあります。
一般的な使用例としては、代表者が同僚のためにチケットを購入することがあります。
つまり、1つの注文IDに複数の参加者がいることになります。

1.各注文IDの使用数を確認する必要があります。
2. Eventbriteで注文IDに関連するチケットの数を取得します。
3. あるオーダーIDがチケットの枚数を超えて呼ばれた場合、Discordロールの追加を停止する。

1回の会議で複数枚のチケットを販売しないイベントであれば問題ありません。

Funny bot reactions

I want to make the bot's response fun.

ボットの応答を楽しいものにしたい

Transaction log system and check duplacated check-ins

I want the capability to store and view transaction logs on the server side. In addition, I might want to recreate a mechanism to check for and reject the use of duplicate transaction IDs.

トランザクションログをサーバサイドに保管して閲覧できる機能が欲しい。あと、重複したトランザクションID利用をチェックして弾く仕組みをもう一度作りたいかも。

eventbrite.test.js is not working

Even if I input an invalid ID for eventbrite_order_id, the test still passes.

const eventbrite_order_id で不正なIDを入力してもテストがpass してしまう。

Move settings to server side

I want to migrate the server connection information, which is currently listed in the configuration file (config.json), to the server side so that it can be maintained dynamically. We may also need to establish a mechanism to confirm that it is operating normally.

現在、設定ファイル(config.json)に記載している、接続先サーバ情報などを、サーバサイドに移行して、動的にメンテナンスできるようにしたい。正常に稼働していることを確認できるような仕組みも、あわせて作る必要があるかもしれない。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.