Code Monkey home page Code Monkey logo

gopher's People

Contributors

antipaste avatar bketelsen avatar bradleyfalzon avatar dlsniper avatar dominikh avatar leitzler avatar noxer avatar scottmansfield avatar spiffcs avatar suryapandian avatar theckman avatar therealplato avatar tobbbles avatar vcabbage avatar xe avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gopher's Issues

link to playground should show preview

If someone posts a link to golang playground, we should comment with the body of the message for easy access for everyone, even though everyone can run it in browser, maybe this can be done if it's less than N lines or something, and it can be collapsed by default if it's longer, or maybe don't do at all if it's long?

Direct messaging to bot doesn't work

The check if a message is sent directly to the bot isn't working currently.

Channel ID for Gopher is hard coded, but differs for each users direct message.

Proposal: Add book command feature

Feature Proposal

The #golang-newbies channel posted this recently:

gopher_feature

Current Behavior

@gopher books

Proposed Behavior

@gopher books
Gopher App - {list of recommended books}

Proposed initial Books list:

  • Go In Action: William Kennedy, Brian Ketelsen, Erik St. Martin
  • The Go Programming Language: Alan A A Donovan, Brian W Kernighan
  • Go Programming Blueprints: Mat Ryer

Possible Solution

bot.go:247
Add proposed books list to the botEventTextToResponse map under the books key in the same format as recommended blogs is formatted

I'd be more than happy to submit this as a cr with the above implementation

add a define command to define words

Add a simple command to define a word. There should be an API gopher can hit somewhere or an easy link it can return. Will update if I find something for either.

Remove auto reactions

I was using the keyword buffalo and a automatic reaction was being added. This got crazy annoying. I don't see the value this adds at all.

Support Slack Threads

In some cases gopher responds to a threaded discussion by commenting in the room/channel, not the thread (where the trigger came from).

For example:

screenshot 2017-03-25 18 53 01

Instead gopher should respond to the thread.

Add functionality for archiving a chain of messages.

The idea is to enable the ability to select a section of messages to be archived. As it stands right now much of the knowledge shared and discovered in the slack is very easy to lose. It would be useful to the community to be able to take a chain of messages, archive them off 'somewhere', and then have them be searchable by topic.

Some ideas that have been discussed would be to link to two messages and have gopher take and archive all messages between the two. Another idea that was proposed would be to implement archival of message threads, though there are some problems like file attachments and moderation that make this a challenging solution.

enhancement: suggest github permalinks when gopher sees non-perma code links

I frequently find myself pasting example links from github to demonstrate something I've written or point out something in #reviews. Less frequently I find myself editing my slack posts to replace https://github.com/therealplato/shortlink/blob/master/config.go#L10 with https://github.com/therealplato/shortlink/blob/b4821cb7375cc6afaae61ebd6515c71a5fd32635/config.go#L10.

The latter link is preferable if future searchers are trying to understand the point of discussion, as the former link will probably point to different code soon. Gopher could help me catch any links I forget to permalink myself.

Something like:

var GithubCode = regexp.MustCompile(`https://github.com/[^/]/[^/]/blob/master/[^ ]*#L[L0-9\-]+`)
var HasPermalink = regexp.MustCompile(`blob/[0-9a-f]{32}`)
...
if GithubCode.MatchString(msg) {
  link := GithubCode.FindString(msg)  
  if !IsPermalink.MatchString(msg) {
    // permalink := acquirePermalink(msg)
    bot.ReplyDM(msg, "I saw you linked %s, which looks like it's pointing to specific code on a branch or tag. It's not unusual for those refs to eventually point to different code, so this link might not be useful to gophers who read this later. If you'd like the link to work in the future, press `y` on that page and edit the new link.", link)
}

Preemptively yes, regex are relatively difficult to read and debug, I find them great for rapid prototyping though :)

Do you think the more usable search history is worth the annoyance costs of getting DM's from gopher?

goher code linking should be updated

if I send a message containing code, it creates a go playground link, but imaging if I sent only this in a message:

package main

import (
	"encoding/json"
	"log"
	"os"
)

func getCodes(filename string) []SomeName {
	zcodes := make([]SomeName, 0)
	file, err := os.Open(filename)
	if err != nil {
		log.Fatal(err)
	}
	err = json.NewDecoder(file).Decode(&zcodes)
	if err != nil {
		log.Fatal(err)
	}
	return zcodes
}
func main() {
	getCodes("a-name.out")
}

it creates link like: https://play.golang.org/p/ItueVksYOs9

Notice, there's still ``` in the source code, this needs to be improved, and only the code should be present inside the editor 🙂

enhancement: hint that threads hinder vision impared gophers

@theckman asked around and found that threads are a challenging UX for screen reader users.
Gopher could respond in threads, something like:

Hi, I noticed you posted a thread. Vision impaired gophers are likely to miss the content because it's difficult to navigate threads with screen readers. Please post in <channel> if this conversation is relevant to other gophers.

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.