GithubHelp home page GithubHelp logo

conversation-rewards's Introduction

@ubiquibot/conversation-rewards

This is intended to be the proper implementation of comment incentives, based on our learnings from the first go-around.

As of 28 February: test driven development to aggregate all necessary information based on a URL to an issue.

  • pass in closed as complete issue URL and receive all the timeline events and activities of all humans who helped close the issue as complete.
  • most importantly: this can inherit bot authentication and link pull requests to issues in private repositories.

Be sure to review all *.test.* files for implementation details.

Data structure

{
  "userName": {
    "total": 40.5,
    "task": {
      "reward": 37.5,
      "multiplier": 1
    },
    "comments": [
      {
        "content": "comment content",
        "url": "https://url-to-item",
        "type": 18,
        "score": {
          "formatting": {
            "content": {
              "p": {
                "count": 16,
                "score": 1
              }
            },
            "wordValue": 0.1,
            "formattingMultiplier": 1
          },
          "reward": 0.8,
          "relevance": 0.5
      }
    }]
  }
}

Reward formula: ((count * wordValue) * (score * formattingMultiplier) * n) * relevance + task.reward = total

Plugin configuration

Here is a possible valid configuration to enable this plugin.

plugin: ubiquibot/conversation-rewards
with:
    evmNetworkId: 100
    evmPrivateEncrypted: "encrypted-key"
    erc20RewardToken: "0xe91D153E0b41518A2Ce8Dd3D7944Fa863463a97d"
    incentives:
      enabled: true
      requirePriceLabel: true
      contentEvaluator:
        enabled: true
      userExtractor:
        enabled: true
        redeemTask: true
      dataPurge:
        enabled: true
      formattingEvaluator:
        enabled: true
        scores:
          br: 0
          code: 1
          p: 1
          em: 0
          img: 0
          strong: 0
          blockquote: 0
          h1: 1
          h2: 1
          h3: 1
          h4: 1
          h5: 1
          h6: 1
          a: 1
          li: 1
          td: 1
          hr: 0
        multipliers:
          - targets: [ ISSUE, ISSUER, SPECIFICATION ]
            formattingMultiplier: 1
            wordValue: 0.1
          - targets: [ ISSUE, ISSUER, COMMENTED ]
            formattingMultiplier: 1
            wordValue: 0.2
          - targets: [ ISSUE, ASSIGNEE, COMMENTED ]
            formattingMultiplier: 0
            wordValue: 0
          - targets: [ ISSUE, COLLABORATOR, COMMENTED ]
            formattingMultiplier: 1
            wordValue: 0.1
          - targets: [ ISSUE, CONTRIBUTOR, COMMENTED ]
            formattingMultiplier: 0.25
            wordValue: 0.1
          - targets: [ REVIEW, ISSUER, TASK ]
            formattingMultiplier: 0
            wordValue: 0
          - targets: [ REVIEW, ISSUER, COMMENTED ]
            formattingMultiplier: 2
            wordValue: 0.2
          - targets: [ REVIEW, ASSIGNEE, COMMENTED ]
            formattingMultiplier: 1
            wordValue: 0.1
          - targets: [ REVIEW, COLLABORATOR, COMMENTED ]
            formattingMultiplier: 1
            wordValue: 0.1
          - targets: [ REVIEW, CONTRIBUTOR, COMMENTED ]
            formattingMultiplier: 0.25
            wordValue: 0.1
      permitGeneration:
        enabled: true
      githubComment:
        enabled: true
        post: true
        debug: false

conversation-rewards's People

Contributors

gentlementlegen avatar 0x4007 avatar rndquu avatar github-actions[bot] avatar keyrxng avatar gitcoindev avatar whilefoo avatar

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.