NFT Protocol DEX Twitter/Telegram/Discord Bot

NFT Protocol is soliciting proposals for the completion of a Twitter/Telegram/Discord bot bounty.

The bot shall keep track of NFT swaps as they are created or taken, and ultimately publish a succinct post to each of the platforms mentioned above.

A swap is a simple trading data-structure that represents a proposal for an exchange of assets on our DEX. A swap includes the following attributes amongst others: a swap ID, swap maker and taker addresses, a list of one or more assets provided by the swaps, and another list of assets that the swap creator is asking for. A traded asset could be Ether, any ERC20 token, or any NFT.

By subscribing to our DEX smart contract events, the bot will learn whenever a swap is made or taken. Then the bot will query our convenient GraphQl endpoints to retrieve data about a swap, such as the NFTs being swapped, info about their NTF collections, and thumbnails. Finally the bot will string the data together and publish an exciting post to each of the platforms above.

Requirements:
⁃ The bot engine should do most of the heavy-lifting and permit installing plugins that just post content to Twitter, Telegram, Discord and probably more platforms in the future.
⁃ The bot or any of its plugins can be paused and resumed and be able to catch up with the swap operations that occurred during down time.
⁃ The software shall be provided as a Docker image (or composer file) that preferably relies on Alpine linux or a similarly minimal image.

Necessary skills to conduct the job:
⁃ Familiarity with using GraphQl and Typescript to retrieve typed data entities.
⁃ Familiarity with writing production Node.js services that work continuously and provide logging/monitoring.
⁃ Basic familiarity with at least one open source database system (PostgreSQL, MySQL, MongoDB…etc).
⁃ Basic familiarity with Docker.
⁃ Basic familiarity with the processing of Ethereum Logs Events.

If you can build the bot we’re looking for please submit your proposal below and include your funding request (denominated in our $NFT token), links to or other documentation of your previous work that indicates you have what it takes to build this bot, estimated time to completion and any other information or details you deem relevant.

Please don’t hesitate to ask questions if something’s not clear.

$NFT holders will assess submitted proposals and approve one via the NFT Protocol governance mechanism.

2 Likes

Hello all,

I have looked at the task and I would approach it as follows.

Platform: Java / Selenium
Data extraction: API / Selenium (frontend)
OS: Windows Server
Trigger: Windows Task Scheduler
DB: SQLite

Extraction
The extraction of the data can be done either via an API or via WebScrapping.
The following details have to be defined:

  • What is the central source for the information and how should the data be accessed?
  • Which events are relevant for the target group? (All, with very high value, from certain addresses…)
  • What data should be extracted?
  • When does the bot need to search for new events?

Transformation
Each service is built differently and has different limitations.
Therefore, the data will have to be prepared differently for each service.
The following details need to be defined:

  • Layout of the message
  • Format of the amounts (123.218449089832383278237 or ~123.218)
  • Which graphical elements like emojis should be used?
  • Exceptions

Load
After creation, the messages are sent to the services independently and published.
The connection to the Twitter, Telegram and Discord services will be done via the respective API.

Challenges:

  • Messages must be able to be displayed consistently on different mobile devices, browsers, and desktop application browsers.
  • Amounts must be presented in an understandable, clear and sufficiently accurate manner.
  • Each event must be published only once.

Limitations:

  • The bot will not be able to take commands from users, the bot will only publish content
  • The bot cannot be triggered by users or other servers.
  • The bot will only be able to distinguish assets if they are clearly distinguishable to a machine
  • The bot will not be able to semantically differentiate assets in any way
  • The bot will not be able to examine blockchain directly

Risks:

  • Twitter regularly locks new accounts, it takes a few days for the account to then be unlocked. This can lead to delays.
  • Very few details are known about the expected solution, so they need to be tuned first. This can lead to delays.

Who am I?
I am a Senior Consultant for Process Automation and have been automating software testing and business processes for about 9 years.
I am relatively new to crypto, so I don’t know all the terms and contexts yet. But I am a very fast learner.

How I work and what I expect:

  • In my projects, the success of the project is the main focus
  • I don’t care who you are, what your position is, what color your skin is - everyone is treated with the same respect. I expect the same.
  • I communicate via email / MS Teams
  • I usually respond within 48 hours of receiving the request and expect the same.
  • I do not work on Christmas or New Year’s Eve (22.12. - 26.12. and 31.12. - 01.01.)
  • I expect a binding agreement of the requirements.
  • I need a contact person with whom I can clarify details.

I estimate the total effort (requirements, implementation, testing, documentation) to take about 10 to 15 days.

Artifacts to be delivered:

  • Java source code (with comments!)
  • Documentation (installation and administration)

The price for my experience, skills and time:

  • Implementation, testing, documentation, handover → 3500 $NFT.
  • Support after delivery: By agreement (optional)
3 Likes