# Nerman: A Nounish Community Bot

___

# TL;DR
___

Here is Nerman: [https://twitter.com/nermanbot](https://twitter.com/nermanbot)

![](https://i.imgur.com/bZhHfhr.png)

Nerman is a community bot for Nouns. Nerman can also be a great friend. A shoulder to cry on. A guiding light.

In Discord he will help with coordinating group votes on DAO proposals (ie Nouncil), informal Nouner polling, offer helpful commands, post all relevant Nouns DAO activity, and allow the community to easily share content to Social Media. On Twitter he will listen for Nounish content and cleverly decide what is the top content to reshare.

Nerman will be open source, and Nounish communities can clone him and tap into the Nouns protocol within their own Discords. Every subdao with a Nouns vote needs a Nerman. Every subdao with twitter needs a Nerman curating their feed.

**DELIVERABLES**
Two Discord bots, a Twitter social listening bot, two websites, and a distribution ready open source library.

**TIMELINE**
6 Months (multiple collaborators)

**BUDGET**

69.420 ETH 


___

# 1. PROPOSER: JOEL CARES
___
![](https://i.imgur.com/DTQjQzu.png)

Joel has been building in Nouns since November. This projects coincides with him shifting into full time Nounish work, the beginning of many years of Joel x Nouns collaboration. Alongside (and separate from) this project he will be actively taking meetings in the entertainment / tech / comedy / animation worlds to spread the Nounish word and help groups put together proposals.

Socials: [Twitter](https://twitter.com/JoelCares_/) -  [Instagram](https://www.instagram.com/joelcares/) - [Facebook](https://www.facebook.com/joelcares.net) - [LinkedIn](https://www.linkedin.com/in/joelcares/)

Joel is:
 - a [Nounish Meme](https://twitter.com/JoelCares_/status/1520076489974190080)
 - a founding member of [Nouncil](https://twitter.com/nouncil)
 - the current elected Nouncil Ambassador to Nouns DAO
 - helping admin [Prop 63](https://nouns.wtf/vote/63)
 - building [Noggles.wtf](https://noggles.wtf/)
 - running [Crispy Nouns](https://twitter.com/CrispyNouns)
 - making 3D at [JoelCares.net](https://joelcares.net)
 - CEO of [ANOA.ca](https://anoa.ca/)
 - CEO of [Lobal Global](https://lobal.global/)

___

# 2. PREAMBLE
___

Earlier this year we received [support from Small Grants](https://lobalglobal.notion.site/Proposal-Nerman-1-0-f37a8407e49641a5b5f2d8f2c6ff334c) to develop Nerman 1.0 - a basic version of Nerman with social sharing and simple Discord commands. Nerman 1.0 is alive and well!

- Currently running in private server
- Manually retweeted and shared ~3000 Nounish posts as [NermanBot](https://twitter.com/nermanbot) 
- Curated 4 Twitter lists: [Nouners](https://twitter.com/i/lists/1495232888249491456), [Nouncillors](https://twitter.com/i/lists/1498451834545086470), [Nounish Projects](https://twitter.com/i/lists/1494410570161926147), [Nounish Content Mines](https://twitter.com/i/lists/1473482057246408707)

To showcase Nerman we released [Lil Nerman](https://twitter.com/LilNerman), a development bot currently running in NIL Discord.
 - will reshare Discord post content to  when :nerman: emoji used
 - has basic commands (/noun and /nouner)

We have also completed a first version of [Noun O'Clock bot](https://nounoclock.wtf/) that anyone can add. It is currently running in NIL and NounsDAO Japan.
 - shows time to Noun O'Clock in bot status
 - posts link to [FOMONouns.wtf](https://fomonouns.wtf) at Noun O'Clock 

___

# 2. DISCORD BOT - NERMAN

___

The Nerman Discord bot can help with internal governance and polling, sharing community news to the world, connecting people, lending a hand. A true friend.

**2. A.) DISCORD - SIMPLE VOTING**

Nouncil / subdaos all use emoji polls to vote on Nouns DAO proposals. It's messy and a lot of work. Nerman can fix this.

**Problems - Discord Emoji Polls**
 - people can vote for more than one option
 - if emoji votes are public, anybody can add reactions. Because of this you have to manually go through and manually tally results.
 - people can add unwanted emojis, cluttering the poll.
 - when the vote is finished you have to manually mark it closed and post the results.
 - the results aren't stored in a database, and there are no broad statistics calculated from them

**Simple Voting - Features**

 - allow / disallow voting based on Discord roles (public, Nouner, Nouncillor...)
 - votes can be anonymous, or public. For anon votes participation will still be tracked but actual vote content won't be stored
 - can enforce one vote per user, or allow multiple
 - specify an end time
 - live visual feedback, which can be turned on or off
 - uses Discords new button API
 - stores votes in a database in preparation for future web apps that display voting stats
 - basic API for db queries so others can build with this data

**FUTURE GOALS**
 - consider further voting methods: weighted voting, ranked choice, quadratic. Can any reliably be done from Discord?
 - manage and deploy votes from web app
 - create Snapshot vote and post to Discord
 - possibly automate executing Nouns DAO vote

___

**2. B.) DISCORD - SOCIAL SHARING**
___

Nounish Discords are contain a stream of Nounish content, creators put their soul into noggley creations and the world needs to see it. Nerman can fix this.

In V1.0 we implemented basic social sharing, active in the NIL Discord and the [@LilNerman](https://twitter.com/lilnerman) account. 

**FEATURES - COMPLETED**
 - user reacts "Nerman" emoji, Nerman responds with "NERMAN_BLAST" 
 - text & media (image, gif, video) are formatted appropriately for twitter
 - threshold function that determines how many votes needed to share

**FEATURES - NEW**
 - better media handling, adding support for large videos and any other misc media that needs to be formatted and handled for Twitter
 - create Nerman social media accounts on other platforms (instagram, Facebook, LinkedIn). Format it appropriately and post it there as well
 - test thoroughly and improve error handling and messages
 - if user's post is just a tweet, allow Nerman to simply retweet
 - further develop Twitter thread functionality for long text posts
 - test the Threshold functionality with live public, tweak and dial in
 - experiment with Threshold calculations in an active Discord


___

 **2. C.) DISCORD - COMMANDS**
___

Some people live in Discord.They live and breath Discord. They don't want to go on the *internet* to find Nounish facts and assets, they want it In-The-Chat. Nerman can... ah, whatever, you get it.

V1.0 Nerman implemented the following commands using https://noun.pics

**/noun [id]**
Returned a PNG of the specified Noun in an ephemeral response.

![](https://i.imgur.com/HZ4GiRE.png)


**/nouner [address or ENS]**
Returned a grid showing the Nouns owned by that address.

![](https://i.imgur.com/vXxFXUs.png)


**FEATURES - NEW**
We will switch to the Nouns DAO subgraph and offer more details.

 - /nerman noun [id]
Can display a more detailed ephemeral message about the Noun. It could possibly include: a PNG image, the last sale price, current owner, basic DAO voting stats, other Nouns owned... we will try to express the most useful content in a minimal clean way.

- /nerman nouner [address or ETH address] [include delegates]
We will change this to an ephemeral with more stats about that address, including owned Nouns and delegated Nouns. Possibly things like auctions won, etc.

- Other Useful General commands
We’d like to add further useful commands as we think of them, while also not clogging up the Nouns command space. We will experiment!


---

  **2 D.) DISCORD - BOT MESSAGES**

---

Nerman will be active in the Discord posting useful things about the State of Nouns, social media, and anything else he can chime in on.

**FEATURES**

 - When a new Nouner !joins Nerman will provide a welcome package with all links and instructions required to enjoy their Nouns experience.
 - When someone wins an auction Nerman will look on ENS for connected Social Media accounts and try to tag them with a Warm Welcome when possible
 - All State of Nouns events will be available with nice formatting: new auction, bids, auction end, new DAO proposal, proposal executed, etc
 - Notifications whenever a Noun is transferred - if it occurs on a marketplace with an API (OpenSea, LooksRare, Zora) we will provide appropriate metadata like price
 - These notifications will be configurable - work with the commmunity to figure out which ones are useful, turn the rest off
 - top daily Twitter messages

---

  **2. E.) DISCORD - ADMIN CONFIG**

---

In the beginning Nerman will only be allowed in approved Discords under the devs watchful eyes. We will tweak, and improve, and help Nerman be the best bot he can be.

Once Nerman is a well built, reliable bot, we will build out a simple config system for people to install and configure Nerman to run in any Discord and share to any social media accounts. 

**FEATURES**
 - configure which "State of Nouns" events post, and to which channel
 - configure which social media accounts Nerman posts too, including posting to your orgs own social media
 - where Nerman listens for posts to share to social media
 - turn options on and off (swear filter, welcome committee, etc)
 - customize messages things like the Noun O'Clock message
 - change language

---

  # 3. DISCORD BOT - NOUN O'CLOCK

---

Noun O'Clock bot is a very basic fork of Nerman that does two simple things:

 - Counts down to the next Noun O'Clock in the bot status:
![](https://i.imgur.com/w7F9c0O.png)
 - At Noun O'Clock - posts a link to [FOMO Nouns](https://fomonouns.wtf/) in the designated channel:
![](https://i.imgur.com/a0GLIjP.png)

This is currently running in several discords, including NounsDAO Japan and NIL. You can download and install the current version of Noun O'Clock here: https://nounoclock.wtf/

**NEW FEATURES**
 - Integrate new State of Nouns libray
 - Add more details to announcement link, including an image of the sold Noun, sale price, and buyer address.


---

# 4. TWITTER BOT - NERMAN LISTENER

___

Nerman surfs through social media (Twitter, LinkedIn, Instawhatever, etc), sharing, caring, looking for primo Nounish content to showcase. He is on a mission to automate his Twitter account. Nerman will try to figure out novel ways to find high quality Nounish content and decide which ones should be shared to [@NermanBot](https://twitter.com/nermanbot). This will take some experimentation, we have ideas but will be trying them out and continuously refining.


**FEATURES**
 - Nerman will listen on Twitter @NermanBot tags. In the beginning he will retweet all of them, and when there are too many, will develop further metrics for choosing what to Tweet.
 - Nerman will listen for common Nounish content, like "@nounsdao", "#nouns", and "⌐◨-◨" and share the top results.
 - Nerman will share important events from the State of Nouns, including saying hello to New Nouners when an auction finishes, 
 - Nerman will compare content from all methods and ensure only a reasonable amount of tweets are sent each day.
 - broadcast Nerman activity to additional social networks: Instagram, Facebook, LinkedIn

If the DAO desires Nerman can eventually post directly to [@NounsDao](https://twitter.com/nounsdao).


___

# 5. WEBSITE - NERMAN.WTF

___

Nerman will maintain a presence in the *old web* at https://nerman.wtf. There will be some fun, basic info about Nouns DAO, a guide to following Nerman and Nouns activity, and a web app that displays voting stats from Discord polls.

**FEATURES**

 - a summary of Nerman and Nerman's activities
 - discord bot documentation
 - State of Nouns documentation
 - instructions on how to engage with Nerman on Twitter
 - links to all Nerman social media
 - breakdown of vote results and decisions made
 - breakdown of behaviour across all votes, including user behavior (if not anon) 

___

# 6. WEBSITE - NOUNOCLOCK.WTF

---
Nerman will maintain a very basic site for Noun O'Clock. It's already complete. 
[https://nounoclock.wtf/](https://)

**FEATURES**
 - a website with stuff on it. Go look

___

# 7. JS LIBRARY - STATE OF NOUNS

---

WHEN DO THINGS HAPPEN?! Nerman needs to know, and so do other Nounish bots. When a Nouns auction ends, when a proposal is created, when a Noun sells on OpenSea. Nerman needs these events, and the data associated with them.

State of Nouns is a standalone JS library for the Nounish community. Nerman will use it, and any other JS project can use it to accurately get events from all Nouns DAO activity.

Our first priority is developing this fully for Nerman. Afterwards we will package and release it as an open source, free standalone library.


**FEATURES**
 - provides access to all Nouns events across governance, NFTs, etc
 - will report all Noun transfers. Will report sale metadata if on OpenSea, LooksRare, or Zora
 - simple JS library that can be incorporated into other projects
 - user provides own Web3 connection details (supports various JSON-RPC options)
 - no centralized service, simply fork the code and run your own


---

# 8. USER ROLES & META DATA RESEARCH

---

Discord user roles are often verified with Collab.Land. Nerman will be able to function with existing User roles. 

We will experiment with other options in a separate Discord, try to find a better way. We have specific advanced Nerman functionality we want to explore. There are solutions like [The Guild](https://www.the-guild.dev/) and devcarrot's [custom idea](https://discourse.nouns.wtf/t/lets-build-a-better-way-to-verify-ownership/297). A simple connection to ENS would also be great.

**FUNCTIONALITY RESEARCH GOALS**
 - connect Discord username -> wallet address -> Twitter username so we can correctly tag users on Twitter when sharing. This could be a custom app, or there might be existing tools we can use.
 - NOUNS: automating "[Nouner](https://twitter.com/i/lists/1495232888249491456)" Twitter list to automatically add new Nouners, and remove Nouners who sell their Noun
 - if people have ENS with twitter and Discord usernames added we can tag people live as the Nouns auction bids happen, and we could send winners nice welcome messages on Twitter and Discord.
 - We will publish our findings as a guide for other communities to follow


___

# 9. RECURRING COSTS

___

**HOSTING & MAINTENANCE**
___
**Discord Bots**
Nerman
Noun O'Clock Bot

**Twitter Bots**
Nerman Listener

**Websites**
Nerman.wtf
NounOClock.wtf

**Code Libraries**
State Of Nouns JS

All of these will need to be hosted and maintained over time. We will be in Discord and on Twitter paying attention to quality and listening to the community. We will publish the State of Nouns library on something like NPM, ensure it's accessible to devs, and answer questions from the community.

___

**SOCIAL MEDIA MANAGEMENT**
___

Nerman has been active since January: https://twitter.com/NermanBot/

The account has been operated manually by Joel Cares for about 5 months now (almost 3000 RTs!) and involves scouring Twitter for content daily. We will continue this for 6 more months, until Nerman is ready to automate the content curation and take over the reigns.

Once Nerman Bot is live, we will still loosely moderate the feed to ensure quality is kept high and nothing Vile comes through. As the algorithms are tweaked to perfection this moderation will no longer be needed.

**FEATURES**
 - Constant content moderation to ensure quality
 - Manual curation of [Nounish Content Lists](https://twitter.com/NermanBot/lists) until they can be automated

___

# 10. PRIORITY USE CASES

___

Once Nerman is live these are our top priority use cases:

 - NOUNS: #nouncil-vote
   - a channel where only Nerman can post
   - votes are automatically created for every new DAO proposal
   - Nouncillors can also create votes through /nerman vote command
   - Nouncillor role has 1 vote per user
   - votes last 60 hours, after which they close and display results
   - Nouncillor manually process Gnosis Safe vote
   - simple stats to help ensure Nouncillors are participating

 - NOUNS: #nouner-poll
   - only Nerman can post
   - Nouners can create polls through /nerman command
   - Nouners have 1 vote per Noun
   - Votes have 72 hour period.
   - used for informal consensus gathering only. Used to gauge Nouner opinions, help choose between options when writing proposals, judge contests... Quick and semi-fair off-chain feedback from the Discord Nouner hive-mind.

 - TWITTER: [@NermanBot](https://twitter.com/nermanbot)
     - automate content curation

___

# 11. BUDGET
___

**One Time Costs**
**Item - Budget (Ξ)**
 -  Discord Bot - Nerman - 25.20
     - *Simple Voting - 10.32*
     - *Social Sharing - 3.67*
     - *Commands - 4.98*
     - *Bot Messages - 4.21*
     - *Admin Config - 2.02*
 - Discord Bot - Noun O'Clock Bot - 2.50
 - Twitter Bot - Nerman Listener - 12.95
 - Website - Nerman.wtf - 4.14
 - Website - NounOClock.wtf - 1.69
 - JS Library - State of Nouns - 10.22
 - User Roles & Meta Data - Research - 1.88

___

**Recurring Costs**
**Item - Budget (Ξ)**
 - Hosting & Maintenance (1 year) - 7.72
 - Social Media Management (6 months) - 3.12

___

**Total Budget**
**Item - Budget (Ξ)**
 - Nerman - 69.420

___

# 13. TIMELINE
___

6 months (multiple collaborators)

___

# 14. PROPOSAL TRANSACTION
___

Payments will be made to Lobal Global's wallet:
0x1dbcede8075cbd1911b8d16ac7e30ac6fed9c469

20 ETH - paid immediately
49.420 ETH - streamed over ~4 months (July '22 - Nov '22)

___

# 15. LICENSING
___

⌐◨-◨

All project materials, including art and code, will be released CC0. We will encourage Nounish communities to clone the content and use it to help build their own communities.


# 16. CONCLUSION
___

What a novel of a proposal eh? Congrats on making it this far, respect. 🙏

Outcome: EXECUTED