No more re-typing the same comments over and over!

This script adds a little 'auto' link next to all comments boxes. When you click the link, you see a popup with 6 configurable auto-comments (canned responses), which you can easily click to insert.

This script was inspired by answers to this question on meta.



  1. Read your comment before you post it!

    Note that the dialog only inserts the text, it doesn't send the comment, nor does it flag anything; this is so that you can check the text before posting!

  2. Customize the texts

    Simply double click on a comment text or description in order to customize it. Hit the 'reset' button if you screw up. This customization is currently per-site. Note that the "Welcome to $SITENAME$" text is automagically inserted if the user is 'new' (member for less than a week), so you don't need to add that to your custom text (but you can if you want to, see '9' below).

    If you need more/less than the default 6 comments, just carry on reading...

  3. Quick user info

    The dialog also includes a mini-summary of the user's activity (because if they haven't been back in months, there's no point writing them a comment).

  4. Automatic notification of new versions

    The script will also notify you if a newer version is created.

  5. Import/export of custom comments

    This helps with transferring custom comments between sites. The export/import 'format' is also conveniently presented as markdown, so you can post it in an answer below, and let others benefit from your words of wisdom.

    Note that you can also use the Import to create an arbitrary number of comments (the default is 6). If there are too many, you can use the show/hide desc link to gain a bit of space.

  6. Remote source for comments

    If you get bored with copy/pasting your comments between sites and/or computers, you can use the 'remote' button to define a remote source for your comment texts. See here for more details.

  7. Differentiated comments for questions/answers

    If you prefix your comment title with [Q], it will be only displayed for questions ([A] for answers). Non-prefixed comments are displayed for both.

  8. [type here], [username] & [OP] (& $MYUSERID$)

    If the text [type here] is included in a comment, it will be automatically selected for completion when inserted. [username] will be replaced with the user's name (or just 'user' if nothing was found), and [OP] with the original poster's name (if found, else 'OP'). Also, $MYUSERID$ will be replaced with your user id for the current site.

  9. Customise welcome message

    The default message is "Welcome to $SITENAME$" - which is shown for any 1-week-old users. By clicking on the 'welcome' link at the bottom of the popup, you can opt to change this message, or leave it empty to show no messages at all. You can also 'force' the message for older users on a one-off basis. This is per-site.


Installation, other info

Development of this app is being coordinated over on GitHub.
Please see the relevant sections over there to:

You may also download the code and run the build process yourself to generate the userscript version as well as Chrome, Firefox and Opera extensions that you can install locally if you'd rather not use the store versions.

Note: Can be used in tandem with my other user script.

Please report new issues or feature requests on our issue tracker!

  • +1+ for the great resource! It was my own answer to this meta I asked in WPSE. Thanks again for assembling this utterly useful tool! – brasofilo Jul 9 '12 at 10:39
  • Why isn't the Chrome extension hosted on WebStore? – Derek 朕會功夫 Dec 3 '13 at 2:58
  • 8
    @Derek朕會功夫, because I resent the fact that Google are forcing me to pay to give something away. – Benjol Dec 3 '13 at 5:51
  • @Benjol - I have packed it into an extension: chrome.google.com/webstore/detail/… :) – Derek 朕會功夫 Dec 3 '13 at 21:53
  • 1
    How do I use this script to send an @message to the OP? Could you make this script automatically replace the spaces in OP's name when using @[OP] or @[username] anywhere in the prefilled comments? – joeytje50 Jan 27 '14 at 3:54
  • 1
    @joeytje50. @[OP] works, but if they've got spaces in their names, you'll just have to make do, I'm afraid. Or hack the script yourself a bit. – Benjol Jan 27 '14 at 6:57
  • This app is amazing! One thing I'd like to try is to have an auto link (similar to the $SITEURL$ shortcut) to get the link to edit a post (to suggest new users to use the edit button). Is it possible to do this? – Edlothiad Feb 16 '17 at 14:10
  • @Edlothiad, I don't see exactly how, to be honest (especially if it has to be able to handle questions & answers) – Benjol Feb 17 '17 at 8:27
  • I dunno what broke, but for Stack Overflow, it's saying "Welcome to Where Developers Learn, Share, & Build Careers!" i.stack.imgur.com/6aldX.png :-D – Bhargav Rao Feb 3 '18 at 8:40
  • @BhargavRao, click on the Welcome link at the bottom, I think you can adjust your welcome message there. This should only appear for new users, I think. – Benjol Feb 8 '18 at 14:05
  • @Benjol, Yup, I adjusted that. It used to say "Welcome to Stack Overflow" earlier. I think this is related to why it's picking up that message automatically - meta.stackoverflow.com/questions/351540/… – Bhargav Rao Feb 9 '18 at 1:19
  • This question is being discussed here. – Brock Adams Sep 4 '18 at 18:42
  • @BrockAdams I don't think that the section you added does much good, because I filed an issue there at the GitHub link only to be told that the script is no longer being maintained. – gparyani Sep 30 '18 at 6:52
  • @gparyani, provide a link. The code was just updated 10 days ago. At first glance it looks like it's being maintained at least somewhat. – Brock Adams Sep 30 '18 at 7:57
  • 2
    IIRC There used to be a Firefox addon, but we gave up chasing after the moving goalposts. – Benjol Feb 15 '19 at 10:43

58 Answers 58


Please report new issues or feature requests on our issue tracker!

The work on making this a full-blown GitHub based project originally outlined in this answer is now complete. All further feature requests and bug reports should be directed at the GitHub issue tracker.

And if you had raised an issue in the comments or answers below, and it's still unresolved, please open an issue on the GitHub project page.

I have taken the liberty of doing some organization.

  1. I have created a full blown Github repo here. The master branch is the latest from benjol's gist and all commit history is included. The master branch can be installed from this alternate location as a userscript using this url. This should make it easier for others to fork and send pull requests with changes back upstream.

  2. I have created branches that include all the gists that had been forked off of this and merged in those commits. Most of these are behind master and would need rebasing, but at least no work will be lost in the shuffle and this should make it easier to review and integrate their work.

  3. I have created a fork of my own and selectively merged in changes from the branch that came from Izzy's work in gist. His work includes changes so that custom comments are stored and retrieved per-site, but it also included his default comments hard coded in. I cherry-picked just the functional stuff and made a few tweaks. I have tentatively called this 1.4.0-beta1 and can be installed as a userscript from this link. There are some known bugs still but when it's ready I'll submit a pull request and maybe these can be merged into master.

This was just leg work to get everything cleaned up and manageable using a full repo instead of gists which were gitting out of hand.


Future ideas: use HTML5 storage to allow users to create/modify their own messages.

enter image description here

  • double click on a title or description to modify
  • save/cancel
  • 'reset' link at bottom of popup (not shown above) resets all custom messages to default


  • The 'Welcome to SiteName!' text is prepended automatically if the user has been member for less than a week.
  • This uses HTML5 Storage, so custom texts only work on the site where they were entered.


With this modification, there is no longer any reason that this userscript should be strictly limited to 'review'.

  • 8
    How can I make it so that it doesn't say "Welcome to Stack Overflow!". I really don't want this. – casperOne Dec 29 '11 at 23:12
  • @casperOne, no, not at the moment, sorry. You could hack it out of the script manually. (It only shows for 'new' users) – Benjol Jan 3 '12 at 6:43
  • I second @casperOne's request. I'd really like that "Welcome" noise to be optional. Can this be made an option? Either global, or using [magic] tags for each comment as you do elsewhere? – Cody Gray Mar 28 '12 at 3:26
  • @CodyGray, it's status-planned (hidden in the comments here), no promises about when, though (to be honest, the main 'problem' is deciding how to present the option). Do you think that making it optional/configurable per comment makes sense? – Benjol Mar 28 '12 at 4:58
  • Not necessarily. I just thought that might be easier to implement; you know, the "lazy developer's response", as you put it. I'd be perfectly content with it being a global setting. Maybe better yet, this would all be configurable per site. So I could disable the welcome text on Meta.SO, but leave it enabled on the SE 2.0 sites. In the same way, the name used for each site would be customizable to make Jon Ericson happy. – Cody Gray Mar 28 '12 at 5:16
  • @CodyGray, ok, thanks for the feedback. Pending implementation, you could comment out line 234... BTW, while I have your ear, what would you think of the idea of providing a per-site option to dynamically load comments from an external source (e.g. Dropbox)? – Benjol Mar 28 '12 at 6:18
  • You mean so that the comments could be shared with other users on that site; for example, so that moderators could easily synchronize with one another? Or do you mean for each person's private use? The former would be really cool, but I don't think I'd get much use out of the latter. Not sure what it would hurt, though. People might like to share their customized comments between multiple machines, like home and work. – Cody Gray Mar 28 '12 at 6:34
  • Mostly the latter two reasons, though the first use case would be covered too. If you have broadly the same comments across multiple sites (and machines), currently you have to copy/paste manually every time you modify something. I did experiment with using global storage for this, but the code is very unwieldy (and it needs two scripts) – Benjol Mar 28 '12 at 6:55
  • @CodyGray, stackapps.com/a/3281/876 :) – Benjol Mar 29 '12 at 9:46
  • @casperOne, forgot you'd left that comment, your welcome message request is not status-completed, if you hadn't already noticed! – Benjol Feb 9 '13 at 22:06

(used this fix in V1.2.9)

Some people are experiencing a problem where the auto link does not appear. This has to do with the fact that the DOM elements on which the selector is based are dynamically loaded into the DOM.

The workaround for this is to change line 683 to:

setTimeout(function() {
    $('#' + divid).find('.comment-help-link').parent().append(newspan);
}, 10);

Basically this is just a minor time out before trying to add the link, which should not be noticeable.

I'm not 100% sure about the 10 milliseconds, but it works for me (Chrome Canary). If it still doesn't appear for you try 100 milliseconds or something like that.

  • You said it yourself :) If you catch balpha in chat, please try asking him (he helped me last time they 'screwed up'). If I see him first I'll do so... – Benjol Jul 25 '13 at 4:37
  • I may have found a culprit, following up now :) – Benjol Jul 25 '13 at 6:34
  • You were not suppose to read that chat message ;-) In all seriousness I doubt the fact there is console output is what makes things go wrong. Then again I suck as you noted so I may be wrong about this :-D – PeeHaa Jul 25 '13 at 7:59
  • By status-planned, does it mean that we'll have to reinstall it after it's completed, or automatic? And will the customisation be reset to the default? . – user21593 Jul 27 '13 at 9:09
  • This doesn't work for me in Firefox 22 – Cody Guldner Jul 28 '13 at 17:03
  • @CodyGuldner Have you tried with a higher timeout? – PeeHaa Jul 28 '13 at 17:09
  • Whoops. Forgot to enable greasemonkey ;) – Cody Guldner Jul 28 '13 at 17:28
  • You can hardly blame me for that ;-) @CodyGuldner – PeeHaa Jul 28 '13 at 17:59
  • Worked fine for me, too, with FF 17 on Ubuntu and Vista (default timeout kept). – Izzy Jul 29 '13 at 8:33
  • Works well. Chrome Ubuntu. – Madara's Ghost Jul 30 '13 at 15:48
  • Worked for me. FF22 Win8 – Jamiec Aug 2 '13 at 14:29
  • +1 It works in Icewasel 24.0a2 (aurora build) – Braiam Aug 4 '13 at 20:03
  • @Dimension10, it means I was hoping for a tip from the dev team to help me avoid this hack. None forthcoming, so I'll go with this from PeeHaa, holding my nose at the same time :) Sorry I didn't answer sooner, you didn't @ me... – Benjol Aug 12 '13 at 10:24
  • @Benjol: So does that mean I have to reinstall, and that the customisation will be set to the default? – user21593 Aug 12 '13 at 10:39
  • 2
    @Dimension10: the script auto-checks for updates everyday, so you can just wait. A new version will not override any customization of comment texts, no. – Benjol Aug 12 '13 at 11:28

(GitHub issue)

Can we have the auto link appear when completing a custom "off-topic" closure reason?

Bonus points if we can declare certain auto-comments to apply in this scenario (e.g. mirroring the "A" and "Q" prefix for answers and questions). Perhaps "C" for closure reasons?


  • 3
    I just came here to ask the same thing - yes please. – user1150 Jul 19 '13 at 15:56
  • 1
    Yes, also iin (suggested) edit summaries . – user21593 Aug 14 '13 at 13:29
  • 1
    This feature request has been migrated to this issue on Github (and thanks Duncan). – Caleb Mar 18 '14 at 9:53

There are two 'major' changes to V1.2.2

'Remote' comment source

You can now define an external source for your comments, and 'import' them. This means that you don't have to manually copy comments from site to site and PC to PC.

To do this, you click on the 'remote' link; enter the url for your data source; then click on 'get now'.

The data source must be formatted as jsonp. There is a new 'jsonp' link in the import/export dialog which will create the appropriate jsonp from your existing comments.

It is also possible to automatically invoke it every time you open the dialog, by selecting the auto-get checkbox. I'm interested in feedback on this.


I've added a function to be able to 'broadcast' messages without changing the code. The intended use for this will be to ask for feedback on proposed future changes. Taken this off-line again, it was not completely thought-through and you had to dismiss on every site... (sigh, no global storage)

  • Where do you recommend storing the comments for the external source? Github maybe? – Kit Menke Apr 5 '12 at 16:20
  • @KitMenke, for testing I used DropBox, the poor man's web server. – Benjol Apr 5 '12 at 17:59
  • If you could have it automatically update the remote sources, that'd be great. – jrg May 15 '12 at 22:44
  • @jrg, I'll bear it in mind. For the moment, you could try this (I haven't tested): at line 581 add this code: LoadFromRemote(GetStorage("RemoteUrl"), function () { WriteComments(popup); }); – Benjol May 16 '12 at 4:54
  • 1
    @jrg, actually, don't. There seem to be problems with parallel ajax queries here. While trying the next version I found the comments sometimes just disappear and never come back. – Benjol May 23 '12 at 12:21
  • @Benjol I'm glad I did try that then. :P – jrg May 23 '12 at 12:28
  • Has this evolved any? Is local storage used? I probably don't want a remote call every time I use the script (which is often), but once per browser session would be great. (I plan on using an Github Gist, btw.) – Raphael Jan 19 '16 at 14:22
  • @Benjol, could the remote comment source be expanded to sync all md files in a given github repo? – Tobi Nary Mar 11 '16 at 23:22
  • @SmokeDispenser, you'll get more luck on github (though I haven't done much work on the extension recently) – Benjol Mar 14 '16 at 7:09
  • Has anyone managed to get this to work with a GitHub repository, I have tried to get this to work with this repository but when I try and use the plugin to pull the jsonp down it never completes. – Richard Slater May 6 '16 at 21:28
  • 3
    Just in case anyone else is looking to do this, if you want to store your JSONP on GitHub you will need to use the file extension .js and then use RawGit to serve the content up using the correct, executable, mime type. – Richard Slater May 6 '16 at 21:37
  • Where is the "remote" link this comment asks me to click on? All I see is the "auto" link next to the comment box. – Noumenon Jun 6 '16 at 16:07
  • @Noumenon, it's after you've clicked on the auto link that you'll see the remote link. – Benjol Jun 7 '16 at 5:16
  • @RichardSlater Thanks Richard! I was finally able to get this working with your steps. – JeffC May 22 '17 at 19:40
  • I uploaded my comments to GitHub Pages but it always says "parsererror". – iBug Nov 19 '17 at 10:00

I'll drop my setup here.

###Comment as answer
__This is not a forum. Please only use the 'Post Your Answer' button if you can answer the asker's question; <a href="http://gaming.stackexchange.com/privileges/comment">post a comment</a> otherwise.__ We require some <a href="http://gaming.stackexchange.com/faq#reputation">reputation</a> before you can comment others' posts to prevent abuse; why don't you try and get some by <a href="http://gaming.stackexchange.com/unanswered">answering a question?</a>

###Question as answer
__This is not a forum. If you have a different question from the asker's, please use the <a href="http://gaming.stackexchange.com/questions/ask">Ask Question</a> button__ instead. You don't even have to login!

###Upvote as Answer
__This is not a forum. If you wish to thank somebody, you should <a href="http://gaming.stackexchange.com/privileges/vote-up">vote him up</a>.__ We require a little bit of <a href="http://gaming.stackexchange.com/faq#reputation">reputation</a> before you can do that to prevent abuse; why don't you get some by <a href="http://gaming.stackexchange.com/unanswered">answering a question?</a>

###Not a Real Question
This is not a forum; __this is a questions and answer site, and I'm afraid your post isn't really a question, because <a href="http://blog.stackoverflow.com/2011/01/real-questions-have-answers/">real questions have answers, not items or ideas or opinions</a>.__ <a href="http://gaming.stackexchange.com/faq">Please read the FAQ for more information.</a>
  • They should automatically generate such 'comments' when you flag something – Ivo Flipse Mar 2 '11 at 14:30
  • 1
    watch out, because the "Welcome to SiteName" is automagically added if the user is 'younger' than a week. – Benjol Mar 2 '11 at 16:54
  • @Benjol Oh, I guess I shouldn't have messed around on a totally random post after all :) – badp Mar 2 '11 at 16:57
  • 2
    Posting setups is a good idea though – Benjol Mar 2 '11 at 17:02
  • 2
    I've added an import/export function which will make pasting setups like this easier, and also allow you to copy between sites (and/or browsers). I'm starting to like your list more than my own :) – Benjol Mar 4 '11 at 10:29
  • How can I import your list? – RolandiXor Sep 17 '11 at 16:24
  • @Roland Copy paste? :/ I no longer have this extension installed. – badp Sep 17 '11 at 21:50
  • Either way, importing comments doesn't seem to work for me :(... thanks for the "help" – RolandiXor Sep 17 '11 at 22:09
  • Love it. Thanks for the additional comments. Using them now! – Brian Sep 29 '11 at 18:09
  • @badp - You now have to log in to ask questions; I've fixed this for you. – Kevin Vermeer Dec 1 '11 at 0:05
  • @KevinVermeer That's SO only – badp Dec 1 '11 at 0:07

Can comment text please be collapsed/hidden by default and only expanded for the currently chosen option? This would work kind of like the 'more info' link in the faq which pops out when you click it. (My dialog is getting pretty big now and this would really help!)

Example mockup

As already said by many others - thank you so much for this script!!


I felt limited by only six comments, so I made some small improvements.

Implemented the following features:

Head list items are intended for users, sub list items are intended for developers.

  • Allow the user to enter an unlimited amount of comments. (Add them in import/export)

    • Based the script on the local storage, while using comments only for initial data or to reset.
    • Refactored duplicate code & checks as comments behavior is replaced by localStorage.
  • Scrollbar for when the amount of comments exceeds the standard height.

  • Added a link to allow the user to toggle the visibility of descriptions.

    • This is remembered by using the local storage.
  • Improved see-through behavior by hiding title and buttons and making it more transparent.

  • Fixed invalid info: "User info detection doesn't work on CW answers, nor with deleted users."

    The box now either shows "This user is not registered." or hides.

  • Fixed greeting consistency, it's now added again after editing comments.

Old version:

Please make sure that both versions do not conflict.

Download Old Version | Source

  • Fixed a bug with incorrectly loading the visibility of descriptions. Works 100% now... :-) – Tamara Wijsman Mar 5 '11 at 21:27
  • Fixed a bug where you were unable to click the option bullet or edit the entry after import/export. – Tamara Wijsman Mar 5 '11 at 21:45
  • Attempted to fix a bug where "Welcome to SITENAME!" was inserted twice, doesn't reoccur... – Tamara Wijsman Mar 5 '11 at 21:46
  • Spotted a bug: In-line editing a greeted comment saves the greeting within the comment. I won't fix this... – Tamara Wijsman Mar 5 '11 at 21:55
  • 2
    Tom, they say imitation is the sincerest form of flattery, so I'll forgive you suggesting people remove my script! :) Not sure if I'll have time to look at this today, but I'll work through your modifications and see whether/how I might integrate them. I think it would be interesting if you could 'export' your comments and paste them here, like @badp did. – Benjol Mar 7 '11 at 7:19
  • Pastebin - Still an early version as I haven't made much auto-comments, but it does the job. Yeah, I don't mean to replace you work, made some improvements to make it more usable to me and thought about sharing the changes. Also, I learned how local storage works in extensions because of you... :-) – Tamara Wijsman Mar 7 '11 at 15:47
  • 3
    @TomWij, V1.0.8 integrates all your modifications (except that I just hide userinfo if I can't find any). – Benjol Mar 17 '11 at 13:30
  • @Benjol: V1.0.8 has a bug re: greeting, opening the dialog a second time prepends a second greeting. – Hasturkun Mar 28 '11 at 17:02
  • @Hasturkan: Oh, it's still there? Can you tell us how to reproduce this? I thought I got it fixed here... – Tamara Wijsman Mar 28 '11 at 17:09
  • @Hasturkan, @Tom. OOps! Must have missed that one. Fixing now... (Another side effect is that if you open the second time on an 'old' user, you still get the greeting) – Benjol Mar 29 '11 at 4:37

Doesn't work on superuser.com (only www.superuser.com) because it includes only domains with a period like so:


and should be

  • [status-completed], let me know if you find any others. – Benjol Mar 4 '11 at 6:09
  • @Benjol Great and fast response! ;) – Pylsa Mar 6 '11 at 13:07


The definitions of the sites are not all-inclusive. For instance, the link doesn't show up on stackapps ;)


Another future idea: expandable groups of comments similar to the way Close>Off-Topic opens a list of sites.

  • 1
    Implementation thoughts: See my answer for a local storage based extension. Use a new syntax (eg. ##) that when read is stored as a comment with description "header", then when reading such comment you could embed all subsequent non-header comments and easily have expandable groups. – Tamara Wijsman Mar 4 '11 at 18:19
  • This is how I do this now. Not going to implement this myself because I dislike an extra click... – Tamara Wijsman Mar 4 '11 at 23:23
  • this is [status-completed] if you accept Tom's way of doing things (which I've integrated into my script) – Benjol Mar 27 '11 at 8:13

(something equivalent, anyway)

I see a couple of comments here suggesting that Benjol is thinking of making the Welcome message configurable.

This is a formal request for that feature.

On Skeptics.SE, we have a meta-post which is a Welcome to New Users FAQ, and explains some of the ways Skeptics.SE differs from other Stack Exchanges. I have experimentally forked this code, just to make the Welcome message include a link to this meta-post.

Unfortunately, my JavaScript skills are too dodgy to make it customisable and offer it back to you as a patch. (The customisation strikes me as particularly tricky for the troublesome few that moderate multiple Stack Exchanges.)

Suggested presentation:

This is only a suggestion - incorporate it into the existing options file. It is a bit ugly, but I think better than having a whole separate config system.

~~~ This is comment text. This line represents the default.
Welcome, my dearest new friend, to $SITENAME.

~~~[skeptics] Using the same 'restriction' notations as [Q] and [A], this overrides the default for one site.
[Welcome to Skeptics](http://meta.skeptics.stackexchange.com/questions/1505/welcome-to-new-users)!

An alternative would be to put it all on one line, but then the [qualifier] notation would conflict with the [link]() notation.

  • Yes, it's planned for vNext, just not sure quite how to present it yet. – Benjol Apr 16 '12 at 21:23
  • @Benjol: Just bringing your attention to my edit, that didn't fit in a comment. – Oddthinking Apr 28 '12 at 3:59
  • +1 would really really like this. If I knew how to write anything and could gain some reps, I'd set a bounty for it. I don't care how it's presented in the UI... – Cody Gray Apr 28 '12 at 7:35
  • I second the feature-request. On TeX.SE we also have a special Welcome meta post we link to. I hacked my local copy of the script to use it, but making it configurable is much better. – Martin Scharrer May 16 '12 at 16:39
  • @CodyGray, this is done now. – Benjol Jan 9 '13 at 12:49
  • @Benjol: Where can the option be configured? – Amal Murali Jan 3 '14 at 18:59
  • @AmalMurali: When you bring up the main screen, there is a link to "welcome" in the bottom right corner. – Oddthinking Jan 4 '14 at 0:44

I forked the script to create some quick-insert buttons.

Given how often I make use of this, I wanted to save the extra click.

enter image description here

  • Nice, I'll 'advertise' it above, and consider including it in the next version (if I can work out how to pull/merge!) – Benjol Oct 16 '13 at 4:38
  • 2
    @Benjol The implementation is dirty. If you would want to put this in your version, it could be improved. You can check the diff to see what I did. I had actually forgotten to push my changes :P – Der Hochstapler Oct 16 '13 at 10:35

Can you also add the auto link on the flag review page of 10k+ users? Especially when going through the "not an answer" flags there are tons of "thanks" and "question instead of answer" posts.

Update: To get it working, there are only minor changes needed:

  • Enable the script for /tools* on the various sites
  • Add .mod-post-header to the delegate list for the click event:

    $(".question, .answer, #questions, .flag-container, .mod-post-header").delegate(".comments-link", "click", function () {
  • For that you'll either have to a) wait a few months until I hit 10k, b) hack the script to get what you want and send me the correction :) – Benjol Mar 26 '12 at 4:39
  • What about me sending you a screenshot of the HTML code of the 10k page after an answer has been loaded (they are loaded via AJAX)? ;) – ThiefMaster Mar 26 '12 at 7:55
  • eh... I guess you could try... – Benjol Mar 26 '12 at 8:12
  • @Benjol: I've updated my post to include the needed changes. – ThiefMaster Mar 26 '12 at 8:32
  • ThiefMaster, can I assume you've tested that? :) – Benjol Mar 26 '12 at 9:05
  • Yes, works fine for me – ThiefMaster Mar 27 '12 at 11:58
  • ThiefMaster, included in V1.2.1 – Benjol Mar 27 '12 at 12:19

Small bug: I haven't figured out at which point this happens exactly, but the script seems to be over-enthusiastic adding the "Welcome" prefix:

Welcome to $SITENAME$! Welcome to $SITENAME$! Welcome to $SITENAME$! The code you show is vulnerable to SQL injection. Use the proper sanitation method of your library (like mysql_real_escape_string() for the classic mysql library), or switch to PDO and prepared statements.

Unless you already know what causes this, I'll keep an eye on it and report back.

  • I've been using this script for a while, and I've never seen this. Strange. Where did it happen? – Kevin Vermeer Dec 1 '11 at 0:07
  • @Pekka, I'm convinced I never saw this post in my inbox. I only just discovered it now! I corrected this bug a while back, I believe.... – Benjol Mar 29 '12 at 8:21

Future idea: include an 'auto-update' function which polls for new versions and notifies user (with anti-nagging functionality).

  • 1
    [status-completed], but I've just this minute thought of a bug. It uses localStorage, so it's going to nag you on every single site where you use it :( – Benjol Mar 1 '11 at 14:57
  • 1
    Fixed that bug in v1.0.5 – Benjol Mar 3 '11 at 7:38

In GreaseMonkey the Name of the Script is AutoReviewComments but the name of the StackApp is Pro-Forma comments.

This makes it very hard to find the app (once you forgot its name :D).

Maybe those could be named equally?

  • 1
    Good point. Done! – Benjol Nov 22 '11 at 11:55

Request: I see a lot of newbies post a comment saying "Thanks this worked perfect for me. It's exactly what I need" on an answer to their question, yet they do not mark the answer as accepted. [username] plugs in the username of the answerer when posting on an answer, but it would be helpful to also include an [OPusername] (or something to that effect) to be able to @ the original question asker on a specific answer.


"If this answer is helpful to you, [OPusername], then please consider marking it as the accepted answer so others may more easily find it in the future. This is also a polite way to thank the person answering your question for helping you out."

  • 2
    Implemented, but using [OP] instead of [OPusername] – Benjol Nov 1 '12 at 6:38
  • 1
    @Benjol The current [OP] implementation copies the user's name directly. Could you maybe add another one which adds it in a way usable as a @ tag (e.g.: [@OP])? – kiri Feb 14 '14 at 11:00

Can $SITENAME$ be changed for Christianity? Here's what a comment to a new user reads:

Welcome to Christianity! ...

Which sounds pretty creepy. For one thing, most folks who stumble into the site are already affiliated with some faith, which might or might not be Christianity. For another, it sounds like we are a cult or a church. We aren't.

Could $SITENAME$ be changed to "Christianity—Stack Exchange" or "Christianity.SE"?

(I haven't tried to adjust the messages myself, but besides being a bit tedious, it probably would be best to not have new users of the script sending the wrong signals.)

It's less of a concern, but I think it would be odd to see messages like:

Welcome to English! ...


Welcome to Parenting! ...

I forked a version and made the following changes at line 67:

if(sitename == "Stack Exchange"){
  sitename = arr[arr.length - 2]; //workaround for SE sites..
  greeting = 'Welcome to ' + sitename + '—Stack Exchange! ';
  sitename = sitename + '.SE';

That way, the "Answers just to say Thanks!" comment reads:

Welcome to Christianity—Stack Exchange! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Christianity.SE way of saying thank you.

The same comment on SO reads:

Welcome to Stack Overflow! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Stack Overflow way of saying thank you.

  • Welcome to Stack Apps! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Stack Apps way of saying thank you. – Jon Ericson Mar 6 '12 at 21:30
  • 1
    Typically lazy developer's response, how about *%SITENAME%*? – Benjol Mar 7 '12 at 7:13
  • OK, that won't work for the Welcome bit (I'd have to code that up), but would it be a viable alternative? – Benjol Mar 7 '12 at 7:15
  • Welcome to Stack Apps! Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient privileges to upvote answers you like, which is the Stack Apps way of saying thank you. – Benjol Mar 7 '12 at 7:15
  • I'm loath to do more than that, because there's a risk of getting negative feedback from other users who are happy with the current functionality (unfortunately I haven't yet coded a 'feedback' function in this script!). Let me know what you think. – Benjol Mar 7 '12 at 7:37
  • @Benjol: Yes, that would help. In fact, it would clarify some of the other messages, now that I see it in action. ;-) I wonder if it would be possible to add a variable suffix (which would default to the null string) at least for the Welcome portion. (I really do like the work you've done with this. If I have to type a few extra letters once in a while, it will still be a huge win for me.) – Jon Ericson Mar 7 '12 at 16:55
  • Jon, how do you see the variable suffix? Could you give me some examples, and maybe an idea of how/where you'd modify it? – Benjol Mar 8 '12 at 5:50
  • @Benjol: I was thinking of something like: 'Welcome to ' + sitename + sitesuffix + '! ' in the place where you construct the greeting. Then I would want to configure it somehow (I don't really know JavaScript) to set sitesuffix = '—Stack Exchange'. Does that make any sense? – Jon Ericson Mar 8 '12 at 17:15
  • 1
    the way I'm thinking about it right now, I think I'd be tempted to make the whole greeting configurable (there are some people who don't like it). I've got a few other changes in the pipes, so this may take a while. In the meantime, if you want to do a personal hack while you're waiting, you need to track down the user-script file, go to line 66, and replace sitename = arr[arr.length - 2]; with sitename = arr[arr.length - 2] + 'your_suffix_here';. After saving, you'll need to F5 in your browser to see the difference... – Benjol Mar 9 '12 at 6:44
  • @Benjol: Thanks for your help. I'm not sure how widespread the script is outside of SO, but I think my change will help me on other Stack Exchange sites. – Jon Ericson Mar 9 '12 at 20:06
  • 1
    Looks good to me, watch out, I've got a new version coming up, you'll need to rebase your fork :) – Benjol Mar 23 '12 at 14:56
  • +1. I don't use this app, but I think it's an awesome bug report. – Andrew Grimm Apr 14 '12 at 2:03

Bug: if my comment contains &, when I insert it it will insert &amp; instead.


enter image description here


enter image description here


enter image description here

  • I've got a correction for this, I'm just waiting a bit to see if there aren't some other fixes that I can fit into the next version too. – Benjol Jul 3 '12 at 11:16
  • @Benjol am I supposed to do anything for the script to update? Because I still experience the issue. – Oak Jul 17 '12 at 17:46
  • 1
    Oak, the script should check for a new version every day, and send you here to install it. If you've clicked on this link and it's still not working, then yes, there's a problem somewhere. – Benjol Jul 18 '12 at 6:07
  • 1
    @Benjol right, my bad. Reinstalled and it's now fixed :) – Oak Jul 18 '12 at 6:16

Can you add multiple pages of comments? Currently if you have a lot of auto comments, you have to scroll to see them, but it would be nice to be able to click next and previous to see lists of about 5 comments.

Also, the "see through" feature is cool, but it should be activated by a click, instead of on mouse over.

One more problem: Importing the comments seems not to save them.

  • Thanks for the feedback. Have you tried the show/hide description option? That should give you more room for seeing your comments without scrolling. Concerning importing the comments, they should save, but only on the current site. I haven't got cross-site sharing working yet. Maybe local storage is not blocked for you? – Benjol Sep 18 '11 at 11:13
  • @Benjol the import didn't work even on the site that I imported on :(. Local storage is available (using Firefox 9). – RolandiXor Sep 18 '11 at 12:54
  • and how about 'normal' edits (double click on a title/description)? – Benjol Sep 19 '11 at 13:20
  • 1
    Hang on, is that Firefox 9 an upside-down six?! – Benjol Sep 19 '11 at 13:32
  • @Benjol I didn't know about that before. – RolandiXor Sep 19 '11 at 13:32
  • 1
    @Benjol nope; it's Firefox 9. I am from the future. You will have a good day tomorrow :). P.S. it works editing existing ones. – RolandiXor Sep 19 '11 at 13:41

@Benjol You could add the extra set of comments that I use in-tandem with Phrase Express:

@<username> Please don’t use signatures or taglines in your posts. Every post you make is already "signed" with your standard user card, which links directly back to your user page

Shopping questions are off-topic as per the FAQ: it is not about a shopping or buying recommendation

  • did you see that you can customize (per site) your messages (double-click to edit), or do you mean that 6 isn't enough? – Benjol Mar 2 '11 at 18:06
  • @Benjol oops, feel like a doofus now - I missed the customization note – Sathyajith Bhat Mar 2 '11 at 18:10
  • it's my fault, the 'documentation' isn't keeping up with the development - fixing now... – Benjol Mar 3 '11 at 5:38

As posting setups was mentioned being useful, here is mine:

###[Q]App recommendation
Please note that recommendations like *Is there an app for X* are off-topic here (see [What topics can I ask about here?](http://$SITEURL$/help/on-topic) for details). For where your question might fit better, you might want to look into [Where can I ask questions that aren't Android Enthusiast questions?](http://meta.android.stackexchange.com/q/371/16575)

###[Q]Development question
This site is for users of Android, which means that questions about development/programming are off-topic here (see [What topics can I ask about here?](http://$SITEURL$/help/on-topic)). Development questions are on-topic on our sister site [Stack Overflow](http://stackoverflow.com/questions/tagged/android).

###[Q]More than one question asked
The question-and-answer format of this site works best if you put each question in a separate question post. Please edit your post down to one question, and create new posts to ask any further questions. You'll get better answers that way.

###[Q]OP providing facts in a comment
The best way to add additional information to your question is by editing it, with the **edit** button. It is better visible that way, and comments are mainly for secondary, temporary purposes. Comments are removed under a variety of circumstances. Anything important to your question should be in the question itself.

###[A]OP adding a new question as an answer
Remember this is a Q&A site - so keep on editing your question with new information - this section is for actual answers. If you have another question, please ask it by clicking the [Ask Question](http://$SITEURL$/questions/ask) button.

###[A]OP using an answer for further information
This is a question-and-answer site, not a forum. Please use the **Post answer** button only if you have a solution to the problem, so that other users can see your question is not yet answered. You can click **edit** on the question to add more information to it.

###[A]Answers just to say Thanks!
Please don't add "thanks" as answers. Invest some time in the site and you will gain sufficient [privileges](http://$SITEURL$/privileges) to upvote answers you like, which is the $SITENAME$ way of saying thank you.

###[A]Nothing but a URL (and isn't spam)
Whilst this may theoretically answer the question, [it would be preferable](http://meta.stackoverflow.com/q/8259) to include the essential parts of the answer here, and provide the link for reference.

###[A]Comments as an answer (new users)
Please don't add comments as answers. Invest some time in the site and you will gain sufficient [privileges](http://$SITEURL$/privileges) to upvote answers you like, or to add actual comments when seeking clarification of any issues.

###[A]Comments as an answer (experienced users)
Please don't add comments as answers. Use actual comments when seeking clarification of any issues.

###[A]Answer that is a question
If you have another question, please ask it by clicking the [Ask Question](http://$SITEURL$/questions/ask) button. Include a link to this question if it helps provide context.

###[A]Requests to OP for further information
This is really a comment, not an answer. With a bit more rep, [you will be able to post comments](http://$SITEURL$/privileges/comment). For the moment I've added the comment for you, and I'm flagging this post for deletion.

###[A]Another user adding a 'Me too!'
If you have a NEW question, please ask it by clicking the [Ask Question](http://$SITEURL$/questions/ask) button. If you have sufficient reputation, [you may upvote](http://$SITEURL$/privileges/vote-up) the question. Alternatively, "star" it as a favorite and you will be notified of any new answers.

Entries #1 & #2 are specific to Android Enthusiasts, but similar cases might exist on other stacks, too.

| improve this answer | |

It would be nice to have a place other than in these answers for us to share setups. Could you provide one and link it to the main post?

I thought about posting another question to deal with this, but wasn't sure if it belonged in stackapps or meta.stackapps.

  • Or meta Stack Overflow? Depends on whether you think there are standard cross-site messages. Some users seem to prefer to tailor their comments for specific sites. And, that aside, I think it is probably preferable for each person to craft their own, because that avoids the appearance of 'robo-commenting' - which seems to be the main fear that prevents this script being integrated into SE. – Benjol Jan 9 '14 at 6:24
  • On reflexion, I think this should be done per site on their own meta. @Izzy did this very recently on SR – Benjol Feb 27 '14 at 6:19
  • @Benjol if a robot can comment, then the comment should appear before the user can submit their post; However if everyone were to use and revise the "preferred language" I would think that would only add clarity as to what action needs to be taken and why. – virtualxtc Feb 28 '14 at 8:26
  • @Benjol, site specific sets should also be kept; but given that most new users run into problems with the general SE format, I'd suspect there's still plenty of room for a pan-site list. – virtualxtc Feb 28 '14 at 8:28
  • 1
    see here: github.com/Benjol/SE-AutoReviewComments/issues/6 – Benjol Mar 3 '14 at 10:03
  • @Benjol that would work for me! – virtualxtc Mar 3 '14 at 11:24

Here's a bug report.

I've attempted to add the following comment:

[**Please, don't use `mysql_*` functions in new code**](http://bit.ly/phpmsql). They are no longer maintained and the [deprecation process](http://j.mp/Rj2iVR) has begun on it. See the [**red box**](http://j.mp/Te9zIL)? Learn about [*prepared statements*](http://j.mp/T9hLWi) instead, and use [PDO](http://php.net/pdo) or [MySQLi](http://php.net/mysqli) - [this article](http://j.mp/QEx8IB) will help you decide which. If you choose PDO, [here is a good tutorial](http://j.mp/PoWehJ).

Which should render like so:

Please, don't use mysql_* functions in new code. They are no longer maintained and the deprecation process has begun on it. See the red box? Learn about prepared statements instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

Instead, right after saving, it renders to

[**Please, don't use `mysql_*` functions in new code***](http://bit.ly/phpmsql)*. They are no longer maintained and the [deprecation process](http://j.mp/Rj2iVR) has begun on it. See the [**red box**](http://j.mp/Te9zIL)? Learn about [</a>*<a href="http://j.mp/T9hLWi">prepared statements*](http://j.mp/T9hLWi) instead, and use [PDO](http://php.net/pdo) or [MySQLi](http://php.net/mysqli) - [this article](http://j.mp/QEx8IB) will help you decide which. If you choose PDO, [here is a good tutorial](http://j.mp/PoWehJ).

Which renders as

Please, don't use mysql_* functions in new code*. They are no longer maintained and the deprecation process has begun on it. See the red box? Learn about prepared statements* instead, and use PDO or MySQLi - this article will help you decide which. If you choose PDO, here is a good tutorial.

I suspect the asterisks are derailing it, but why should it care about it anyway? Does it attempt to also fix the comment before saving?


Seems like the Comment's markdown is parsed into HTML and then remapped to Markdown (why?!). Using's Chrome's console and editing the localStorage directly with

<a href="http://bit.ly/phpmsql"><strong>Please, don't use <code>mysql_*</code> functions in new code</strong></a>. They are no longer maintained and the <a href="http://j.mp/Rj2iVR">deprecation process</a> has begun on it. See the <a href="http://j.mp/Te9zIL"><strong>red box</strong></a>? Learn about <a href="http://j.mp/T9hLWi"><em>prepared statements</em></a> instead, and use <a href="http://php.net/pdo">PDO</a> or <a href="http://php.net/mysqli">MySQLi</a> - <a href="http://j.mp/QEx8IB">this article</a> will help you decide which. If you choose PDO, <a href="http://j.mp/PoWehJ">here is a good tutorial</a>.

Appears to fix the problem.

  • 1
    The answer to the 'why' bit is that I display the HTML in the popup. As to the fix... I'll look into it. – Benjol Oct 25 '12 at 4:55
  • @Benjol wouldn't it make more sense to store the Markdown version as well? (Or at least implement a more robust HTML parser)? – Madara's Ghost Oct 25 '12 at 8:48
  • 1
    to be honest, I can't remember when or why I decided to store it as HTML. Whatever, I've got a pseudo-correction in the works (very pseudo, it skips transformations of * and ** if it finds a backtick in the middle). – Benjol Oct 25 '12 at 8:54
  • @Benjol it seems as if the bug still persists! Even after updating to the latest version! – Madara's Ghost Nov 7 '12 at 17:32
  • Oh dear, you're right. I was sure it worked. Maybe I broke my correction, or didn't test it properly... – Benjol Nov 8 '12 at 5:44
  • OK, I've tracked it down, but I'd like to wait a bit before doing a new version (in case new bugs crop up). If you want to correct this locally, go to line 343 and replace the first [^`] with .. – Benjol Nov 8 '12 at 6:24
  • Alright, you should really consider packing it and shipping it over at the Chrome Market. It allows you to do stuff like push updates automatically etc etc. – Madara's Ghost Nov 8 '12 at 18:06
  • yes, maybe. At first glance it looks like a lot of administrative gumph. If I read correctly, I have to pay $5 upfront for something that I'm intending to give away? Or am I not looking in the right place? – Benjol Nov 9 '12 at 5:37
  • @Benjol: Also, I've notice your extract function works the same (HTML vs Markdown wise), shouldn't it be presented in markdown rather than HTML? It would be lighter in file-size, and much closer to the intended result. – Madara's Ghost Jan 24 '13 at 9:20

Since you're fetching user info from the userpage, could you add in something to show whether the user is registered or not?


The same way we press Esc to close the list can we have Enter to add the comment directly instead of the button bellow the list?

My list is getting a bit big and every time I need to select a comment (in a small laptop screen mind you) I need to scroll to the comment, click, scroll down to the end, click to add the comment and the scroll back up on the page to where I was before.

Can this be fixed so Enter adds the comment directly without needing to scroll all the way down?

  • Not a bad idea, I'll look into it. – Benjol Mar 23 '12 at 13:36
  • @Benjol great scrip, think it saves me 3 hours everyday! thx ;) – Bruno Pereira Mar 23 '12 at 13:51
  • Done in V1.2.0, let me know if you spot any problems! – Benjol Mar 23 '12 at 15:01

The following message breaks the script, apparently due to the $ in backticks:

Did you know that you only have to write `jQuery` in its long form once? By wrapping your code in `(function($) { .... })(jQuery);`, you can use `$` no matter if `noConflict` has been used or not.
  • Wow, nice catch! Weird, because it's stored ok (as you can see if you re-open import/export). I'll look into it. – Benjol Feb 24 '12 at 12:02
  • Did you know that you only have to write jQuery in its long form once? By wrapping your code in (function($) { .... })(jQuery);, you can use $ no matter if noConflict has been used or not. – Benjol Feb 24 '12 at 12:45

Is it possible that you could save the comments in a file so that when the script is updated I don't lose my custom comments?

  • 1
    You shouldn't lose your comments when the script is updated - has that happened? But, to answer your question: hit the import/export button and copy/paste the text to 'somewhere safe'... – Benjol Dec 8 '11 at 14:48
  • @Benjol yes I do lose them every time :( – RolandiXor Dec 8 '11 at 15:21
  • I really don't understand how that can happen. If I look at the code, the only two places where I reset comment is if you hit the Reset button, or if the script doesn't find any comments there... Another thing you could try is installing the beta global-storage version (see last comments on my question above), this would mean you can 'push' your custom comments to global before updating, then 'pull' them down afterwards if they go missing. – Benjol Dec 9 '11 at 5:42
  • Strange... I don't lose my comments when I update. – Kit Menke Jan 9 '12 at 15:18
  • 1
    Note that you can now save your comments to a file, read here. – Benjol Apr 11 '12 at 12:14

Can you please add a feature that allows you to type [username] (or something of the like) and the script inserts the user's name? I don't know how hard that would be, but I know you are already grabbing the user name. If at all possible, I would really appreciate this! Thanks so much for all your hard work on this script.

  • Hm, it's an idea. I'm not sure about the execution though. The problem is that the user name is retrieved asynchronously, so dynamically updating the descriptions as you see them in the popup would be... not hard, but work. Alternatively, I could do the replace on insertion, but that might confuse some people. Conclusion: I'm thinking about it. Right now. – Benjol Jul 3 '12 at 5:10
  • @Benjol Awesome! Haven't tried it out yet, but thanks!!! – daviesgeek Jul 6 '12 at 5:35

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .