Template talk:Cite tweet/Archive 2

Latest comment: 6 months ago by Schwede66 in topic Date issue
Archive 1Archive 2

Errors need cleaning

The recent changes probably led to about 230 articles in the hidden Category:Pages with script errors. For example, Aaron Bow has the following (simplified from what is in the article):

{{Cite tweet
|user=_AaronBow
|number=1153863600248778752?s=20
|title=Anything
|last=Bow
|first=Aaron
|date=2019-07-23
|website=Twitter
|language=en
|access-date=2020-02-19
}}

Previewing that in a sandbox shows "date= mismatches calculated date from |number= by two or more days". That puts the article in the script errors category above and in Category:Cite tweet templates with errors. I'm hoping editors here will check some of the problems and determine if the issue is real (are the parameters wrong?). If so, please either fix them or stop the template from generating a script error. I put a list of the articles in my sandbox (permalink). Johnuniq (talk) 06:43, 15 January 2021 (UTC)

@Johnuniq: the issue is normal and expected. Remove the ?s=20 from the number parameter. It is invalid. I'm manually going through and fixing all the invalid ones. Elliot321 (talk | contribs) 14:38, 15 January 2021 (UTC)
The errors should probably be generated not as Lua errors but simple spans. It may also be worth considering hiding the errors unless overridden in user CSS, like some CS1 errors. Nardog (talk) 14:48, 15 January 2021 (UTC)
The errors don't show as Lua errors in the articles. I actually didn't consider the possibility of people putting invalid data into the number param — there wasn't any instance of that in the testcases — it just displays a date mismatch error, though. I've found that most of the date mismatch errors are due to actual mismatches though (which definitely should display as errors). Maybe trying to parse this out would be worthwhile, but I think correcting it would be a better option. Elliot321 (talk | contribs) 14:51, 15 January 2021 (UTC)
I wonder if it's really this template that's adding Category:Pages with script errors then (sorry, I'm not on a good device to investigate this sort of stuff right now). Nardog (talk) 15:02, 15 January 2021 (UTC)
It definitely is, because it tries to operate on the invalid data in the number parameter. However, given the way I implemented it, you never see the ugly Lua error. This is because the date parameter is present, so the Lua isn't used for calculating the date to display. However, the code to check that the date matches the snowflake fails, on the basis that the snowflake is invalid, so it displays the mismatch error. Elliot321 (talk | contribs) 15:10, 15 January 2021 (UTC)
Rather than displaying a generic script error, it is usually better to use something like iferror to capture erroneous output and generate an error message and a custom category. 16:58, 15 January 2021 (UTC) — Preceding unsigned comment added by Jonesey95 (talkcontribs)
It doesn't display a generic script error. I could try to make the logic distinguish between "date mismatch" and "invalid number" but that really seems unnecessary. Elliot321 (talk | contribs) 17:02, 15 January 2021 (UTC)
My mistake. I should have written: "This template should not emit Category:Pages with script errors." It should emit only an error-tracking category specifically for this template. – Jonesey95 (talk) 17:45, 15 January 2021 (UTC)
I agree with Editor Jonesey95. Modules should not emit script errors (and the attendant category) for any other reason than a coding failure. Malformed input data should be trapped and the user notified via an appropriate error message and the article categorized in Category:Cite tweet templates with errors (or a subcat of that).
Trappist the monk (talk) 17:58, 15 January 2021 (UTC)
Hmm, fair enough, I guess. This was a failure of imagination scenario. I can try to modify the script to detect such an error separately. Elliot321 (talk | contribs) 18:59, 15 January 2021 (UTC)
Updated code available at Module:TwitterSnowflake/sandbox, Template:TwitterSnowflake/datecheck/sandbox, and Template:Cite tweet/sandbox. Elliot321 (talk | contribs) 19:17, 15 January 2021 (UTC)
@Elliot321: In Module:TwitterSnowflake/sandbox, should if twitterdate == epochdate then use <=? Johnuniq (talk) 23:46, 15 January 2021 (UTC)
That is unnecessary, as the function will not return a date before the epoch; I have tested this. Elliot321 (talk | contribs) 23:50, 15 January 2021 (UTC)

{{#invoke:convert/tester|compare|Template:Cite tweet|Template:TwitterSnowflake/datecheck|Module:TwitterSnowflake}} Do these changes avoid articles being placed in Category:Pages with script errors? I've looked at it but can't see how the changes avoid that problem. Actually, I'm too confused to work out how the errors occur in the current setup, but I tried previewing the above cite_tweet in an article after adding /sandbox. It put the page in the error category. Johnuniq (talk) 04:17, 16 January 2021 (UTC)

Well, of course it would, because the template uses the main module, not the sandbox, where the fix is. If you copied all of them over, it'd be fixed. Look at the changes in the module, they should explain it. Elliot321 (talk | contribs) 06:21, 16 January 2021 (UTC)

@Elliot321: Re Module:TwitterSnowflake/sandbox, I finally got around to working out what the code is doing. I had not previously met a snowflake—it's interesting and the module decodes it a nice way. I have some comments:

  • The ideal way to handle {{cite tweet}} would be for it to do nothing but invoke a module. That module would do all necessary checks and output a custom error message if needed. Otherwise, if all good, it would call {{cite web}}. That would require a bunch of code in the module but it would be cleaner. That's just a thought and I know implementing it would be a hassle.
  • "!%c" is the default in frame.args.format or "!%c".
    That is not a good choice for Wikipedia because the result is like "Sun Jan 17 01:38:27 2021" which would be unnecessarily confusing if displayed, and which would not be correctly parsed by Module:Date so twitterdate would be nil. Alternatives would be "%B %e, %Y" or "%B %e, %Y %H:%M:%S".
  • tostring(c) should be tonumber(c) or just c (which Lua converts to a number for the addition).
  • Date returns nil if its input is invalid so there would be an error if frame.args.date is invalid. That might not be a problem in practice but the message would be confusing. If that's a concern, a handy way to handle it (although it throws an error) is:
    local date = Date(frame.args.date) or error("cite tweet: invalid date", 0)
    return date - twitterdate

Johnuniq (talk) 05:57, 17 January 2021 (UTC)

Johnuniq fair enough. I'd still like to ultimately wrap it in a template, but I can see the benefit of moving more logic to the module. I'll think on it (somewhat busy with other stuff today). Elliot321 (talk | contribs) 10:13, 17 January 2021 (UTC)
This needs to be wrapped up very soon and I don't think we should wait for the ideal procedure—I just mentioned that as a long-term aim since I was commenting on the module. Do you want to tweak anything further before the fixes to remove pages from Category:Pages with script errors are implemented? Johnuniq (talk) 22:33, 17 January 2021 (UTC)
Not particularly. I'm going to apply for template editor soon anyway, so (assuming that's successful) I'll be able to make the further changes relatively soon. Elliot321 (talk | contribs) 01:35, 18 January 2021 (UTC)
The template has over 15,000 transclusions. That's not a great deal by comparison with some others but, before updating the main template, it would still be desirable to fix any trivial issues such as those I mentioned above. Johnuniq (talk) 01:47, 18 January 2021 (UTC)
Done. Elliot321 (talk | contribs) 02:34, 18 January 2021 (UTC)

Date format

The Template:Cite web df parameter accepts values of ymd and ymd-all, see: Template:Cite_web#Date. Should the documentation of this template reflect that? Tango Mike Bravo (talk) 17:00, 31 January 2021 (UTC)

  Done - Favre1fan93 (talk) 17:31, 31 January 2021 (UTC)

last1

@Wbm1058: I included |last1= as an option in order to match the rest of the Help:CS1 templates. I feel the more sensible solution should be to just further split List of Hillary Clinton 2016 presidential campaign celebrity endorsements if it becomes such an issue there. –MJLTalk 17:26, 26 March 2021 (UTC)

OK, I see that my assumption isn't quite right: https://twitter.com/alyandaj is a twitter shared by two people, though it could also be said that the "author" of the tweet is Aly & AJ the duo. Will look for other solutions. – wbm1058 (talk) 17:29, 26 March 2021 (UTC)

Missing whitespace

If you include the tweet's author, there is no whitespace between their name and their Twitter handle. See for example the nineteenth reference in Music of Minecraft, which shows up as "Raine, Lena[@kuraine]". Kleinpecan (talk) 22:14, 2 May 2021 (UTC)

quoting from embedded video/audio

A code quote parameter would be handy to allow quoting from an embedded video or audio. (I cheated by using trans-title - [1].) Mitch Ames (talk) 12:39, 6 August 2021 (UTC)

I think you actually want |quote=. - Favre1fan93 (talk) 17:08, 7 August 2021 (UTC)
I've fixed my original post. Mitch Ames (talk) 00:45, 8 August 2021 (UTC)

Add in functionality for a |quote= parameter. If this were not in lua, the wikicode would be as follows:
| quote = {{{quote|}}}
- Favre1fan93 (talk) 14:48, 8 August 2021 (UTC)

  Not done for now: please establish a consensus for this alteration before using the {{edit template-protected}} template. We already have |tweet= |title=, which would get hopelessly confused with a |quote= parameter. In the edge case of quoting an embedded video or audio clip, just put the quotation outside of the template, within the ref tags. – Jonesey95 (talk) 15:54, 8 August 2021 (UTC)
|tweet= or |title=? "Title" implies the title of the tweet, not part of embedded content. Back when tweets were only 160 characters of text, this made sense, because there was no "title" vs "content". Now, with embedded content in tweets, perhaps the template needs to allow explicitly for embedded content vs 160 chars of text. Mitch Ames (talk) 14:36, 9 August 2021 (UTC)
This template is simply a wrapper for {{cite web}}, so it makes sense to support |quote=, if not basically whatever that template supports. "would get confused with [another parameter]" doesn't strike me as a compelling argument as it could be said about pretty much any source, not just tweets. Nardog (talk) 16:13, 13 August 2021 (UTC)

Quote

For tweets like this one, which use an image of text, we need a |quote= parameter; or something with equivalent function. Andy Mabbett (Pigsonthewing); Talk to Andy; Andy's edits 12:04, 26 October 2021 (UTC)

There's no reason not to provide parameter |quote= for this {{cite web}} wrapper. It's unclear how the objection "hopelessly confused" applies. -- Michael Bednarek (talk) 07:19, 3 February 2022 (UTC)
  Done Nardog (talk) 19:17, 3 February 2022 (UTC)
Thanks. Mitch Ames (talk) 00:18, 4 February 2022 (UTC)

Tweets with co-authors

Recently, Twitter began testing live the ability to have tweets with two authors. The module was designed for only one author, but we might want to support it. TechCrunch article; example of a tweet. I'm not familiar with Lua modules to fix it myself, unfortunately. Could it be added? SWinxy (talk) 02:26, 18 July 2022 (UTC)

Based on how the tweet's constructed, in theory, the module would just need to add support of additional author, last, and first parameters (only 2 or perhaps more?), much like any other cite template. However, it doesn't look like |user= needs multiple options, because as far as I can tell in the example, Jane Wong's account was the only one to "tweet it", as in Casey Newton's account/url doesn't have a unique number associated with this tweet one could also link to. - Favre1fan93 (talk) 02:43, 19 July 2022 (UTC)

Who's timezone is the automatic date based on?

When I don't fill out the date parameter, the reference automatically calculates the date from the tweet number. However, if I am in a different timezone from the author, who's timezone is used in the reference? e.g. To provide citation for the birth of Justin McElroy's daughter (13th of Feb 2018) I wanted to use a tweet of his.

@justinmcelroy (February 14, 2018). "Cooper McElroy was born on this day" (Tweet) – via Twitter.


As I am Australian, Twitter tells me this was tweeted around noon on the 14th, and the automatic date says the same! Elemenopee9 (talk) 05:51, 15 November 2022 (UTC)

Disregard - I read the page for the TwitterSnowflake module/template, and it looks like it's reading it from Twitter itself (calculated from the epoch) and is therefore, I assume, using UTC by default. So anything posted after 7pm EST will display as the following date. I'll just have to plug in the date parameter! Elemenopee9 (talk) 07:29, 15 November 2022 (UTC)

Cite tweet vs Cite web

I encounter far more cite webs with twitter urls than I encounter cite tweets. Was an editorial preference ever established? Should I be—scare quoted—correcting these cite webs to cite tweets? For example, Are there perhaps bots out there combing cite tweet for deleted/dead content, fixing missing titles, etc.?

P.S. As a gnomic reference/citation laborer, the mess of cite templates makes me wish for wiki world wherein Help:Citation Style 2 were predominate. —¿philoserf? (talk) 17:25, 30 December 2022 (UTC)

Yeah, change the cite webs to cite tweets, but I don't know if 'editorial preference' was established. Cite tweet shows info that cite web does not. SWinxy (talk) 19:14, 30 December 2022 (UTC)

Support for mentioning embedded media and threads

When posting on Twitter people often spread the message into various tweets, making a thread, and sometimes embed images, videos and/or links. However this template has no way of handling those; and since the whole tweet is often incorporated into the citation, not mentioning those could leave a reader unaware that they're missing.
Therefore I suggest that some parameters be added to acknowledge their existence and allow citations be more complete. something like |has-embed=images, or |tweet-number=2 |thread-total=5. — Mignof (talk | contribs) 16:16, 31 December 2022 (UTC)

The concern of needing to cite multiple tweets is sorta indirectly addressed by WP:TWITTER, in that the types of claims permitted to be cited are not going to take up a whole thread or span multiple tweets. As for the embedded material, it might be wise for an editor to consider using {{Cite AV media}} instead of Cite tweet. Exceptions and edge cases abound. Is there an example of a tweet(s) that gave you concern? SWinxy (talk) 17:22, 31 December 2022 (UTC)
It was a tweet announcing a decision and later explaining the reasoning further in the thread; the citation only linked to the first tweet. What I ended up doing was to put (1/4) alongside the tweet text, as is commonly done on Twitter for threads; even though the original tweet did not do so. Having a parameter for that would have been convenient. The rest about image/video content was merely something I thought of that did not came up. — Mignof (talk | contribs) 14:53, 19 January 2023 (UTC)

Template-protected edit request on 8 March 2023

CNNPhilippines is a legitimate and non-generic Twitter user, take away the {{cite web}}: |author= has generic name error message from this tweet referenced in Robin Padilla:

Markup: {{Cite tweet |user=CNNPhilippines |number=799422214483234816 |date=November 17, 2016 |title=Padilla: I fully support the war on drugs}}
Display: @CNNPhilippines (November 17, 2016). "Padilla: I fully support the war on drugs" (Tweet) – via Twitter.
Ich: This is an instance of your Generic author flag bug.

Anomalocaris (talk) 03:22, 8 March 2023 (UTC)

  Not done (edit is not ready to publish) Please make your changes in the relevant sandbox, test, then reactivate the immediate edit request. If this is meant just as discussion for someone else to look in to this, feel free to continue below. — xaosflux Talk 16:19, 8 March 2023 (UTC)
I wonder if we should simply always suppress the generic name error by putting ((...)) around the author (i.e. stripping the conditional at line 46). Nardog (talk) 16:42, 8 March 2023 (UTC)
Per the above comment from Ich, |author-mask= needs to be implemented. That was suggested at the CS1 discussion page. - Favre1fan93 (talk) 16:56, 8 March 2023 (UTC)
I tried the (()) workaround before I reported this and it didn't work. As a temporary workaround, you can use "cite web" with "author-mask" to make the error message go away. This is otherwise visually identical to cite tweet.-Ich (talk) 17:20, 8 March 2023 (UTC)
I'm not in favor of unconditionally masking |author= (and aliases) from the generic name test in cs1|2. In this case, because there is no |last=/|first=/|author=/|author-link= {{cite tweet}} makes |author= from the concatenation of @ and the value assigned to |user=. What Module:Cite tweet might do is recognize when |user= (as the sole name-holding parameter) has the accept-as-written markup. When that markup is found, Module:Cite tweet would insert @:
|user=((CNNPhilippines)) becomes:
cite_args.author = arg.user:gsub ('^(%(%()(.-%)%))$', '%1@%2')
which cs1|2 gets as:
|author=((@CNNPhilippines))
|author-mask= serves no purpose when the only name-holding parameter is |user=.
Trappist the monk (talk) 17:30, 8 March 2023 (UTC)
My first stab. See Template:Cite tweet/testcases#Generic name error. Nardog (talk) 17:47, 8 March 2023 (UTC)
I don't think there's ever a situation where |user= needs to be checked for being generic. We should indeed check if |last/first/author= is generic, especially if we can use |author-mask= to avoid passing |user= along as part of the author. Nardog (talk) 17:51, 8 March 2023 (UTC)
Perhaps you're right. I have tweaked the module sandbox and the testcases. To ~/sandbox I have added comments (I like comments – a lot) and changed how the module handles cites that have |user= only. That change uses |author-mask= to display the @ with the user name so that cs1|2 does not include it in the author metadata (where it does not belong). You allowed for |first= without |last=. cs1|2 detects that condition as an error and emits an error message so I commented that out. I left your code in-place but commented out. To ~/testcases I added calls to the sandbox templates to show the metadata.
Trappist the monk (talk) 23:35, 8 March 2023 (UTC)
Your changes make sense. I concur with not allowing first without last if it's not allowed by the wrapped template anyway; you can just remove the part you commented out. Nardog (talk) 23:46, 8 March 2023 (UTC)

Question

Is there a tool or script to semi-automate conversion from url to cite tweet or from cite web to cite tweet ?. - Kevo327 (talk) 13:27, 15 June 2023 (UTC)

Tweets might need to have a registration notice

In what may be another big-brain move from Elon Musk, Twitter is no longer showing tweets to unregistered users, as reported by The Verge. If this is confirmed as intentional or isn't addressed in the next few days, then I believe we'll need to add ['url-access'] = 'registration' to the cite args. SWinxy (talk) 21:20, 30 June 2023 (UTC)

Musk says that it's a "temporary emergency measure". ...right. SWinxy (talk) 21:43, 30 June 2023 (UTC)
If this does stay as is moving forward, then yes, we should make this change. - Favre1fan93 (talk) 14:50, 2 July 2023 (UTC)
So it's been over 48 hours (and over 24 hours since rate-limiting users). I think it's safe to add an edit request tag. SWinxy (talk) 00:10, 3 July 2023 (UTC)
  Done * Pppery * it has begun... 16:05, 3 July 2023 (UTC)
Unregistered users can (currently) view an individual Embedded Tweet using a different URL format. Verifiability of cited tweets could be improved by adding the alternative link. Would it be acceptable and feasible to make this change, perhaps using id = '[https://platform.twitter.com/embed/Tweet.html?id=' .. args.number .. ' Embedded Tweet]' or similar to the cite args? AJP (talk) 19:17, 3 July 2023 (UTC)
Interesting workaround. Who knows if Musk will also pull the plug on embeds, too. It's a good option, sitting alongside the archive urls that seemingly most invocations have. SWinxy (talk) 23:40, 3 July 2023 (UTC)
Silently, it's back. (And I can now edit it myself! Weeee!) SWinxy (talk) 21:39, 5 July 2023 (UTC)

Rebrand to X

Twitter is becoming X and X.com is currently pointing to Twitter.com. If that domain takes priority, and "twitter.com" isn't retained, there are about to be many, many broken citations with (and without) this template. - Favre1fan93 (talk) 20:19, 23 July 2023 (UTC)

Thanks for the heads-up. We'll have to cross that burning bridge when we come to it. I would say that it's difficult to imagine a disaster like twitter.com links not being retained, but the last decade has helped my imagination become a lot more fertile. – Jonesey95 (talk) 18:19, 24 July 2023 (UTC)
As long as nothing changes to the snowflake... A bigger concern would be the ~30,000 pages that use Cite web instead of this template. SWinxy (talk) 18:49, 24 July 2023 (UTC)

Requested move 7 August 2023

The following is a closed discussion of a requested move. Please do not modify it. Subsequent comments should be made in a new section on the talk page. Editors desiring to contest the closing decision should consider a move review after discussing it on the closer's talk page. No further edits should be made to this discussion.

The result of the move request was: not moved. (closed by non-admin page mover)DaxServer (t · m · e · c) 09:00, 14 August 2023 (UTC)


– Twitter is becoming X. RMXY (talk) 12:29, 7 August 2023 (UTC)

The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

What about Mastodon?

I think Mastodon social should be mentioned if it's basically going to use the same template as Twitter/X or should get its own page. Texpedia (talk) 23:54, 17 August 2023 (UTC)

Mastodon doesn't have a central server, so such a template makes little sense. Nardog (talk) 00:03, 18 August 2023 (UTC)

Visual bug when using @ for the user name

Currently if a citation is created with @user instead of user ({{Cite tweet|user=@A|number=564068436633214977|title=title}}) then the output citation is @@A.

Should the module create a maintenance category to remove this? Should it handle it in the code? Gonnym (talk) 13:54, 21 August 2023 (UTC)

Proposal to account for platform's new name

I'm not entirely sure how things like this are implemented, but surely we can find a way for posts on and after 24 July 2023 to display like the following:

@Pigsonthewing (February 7, 2015). "This is an example tweet. Hello, Wikipedians!" (X post) – via X.

This obviously wouldn't affect tweets made while the platform was Twitter. Then we can have {{cite tweet}} redirect to {{cite X post}} or vice versa. I understand there may be compatibility issues in future, but there's no good reason why were referring to the platform by its old name. Surely this is a generally agreeable solution to the current challenge? It wouldn't even be a big deal if the branding was undone. 5225C (talk • contributions) 06:57, 30 August 2023 (UTC)

Please keep the discussion at Talk:Twitter. Anything that is decided there can then apply here. – Jonesey95 (talk) 12:59, 30 August 2023 (UTC)
Why would the discussion on the Twitter article determine what we do with the citation template? I'm not suggesting we change the name of the article, only that citations should be attributed to the platform with the name they were posted under. It's essentially a redirect 5225C (talk • contributions) 14:15, 30 August 2023 (UTC)
See #Requested move 7 August 2023. Me and other editors would like to defer to Talk:Twitter. SWinxy (talk) 15:03, 30 August 2023 (UTC)

Where do I find the number of a tweet

I would really like to know? StrongALPHA (talk) 06:12, 19 October 2023 (UTC)

It's in the URL: https://twitter.com/username/status/[number] SWinxy (talk) 15:57, 19 October 2023 (UTC)

Edit request 3 November 2023

Observation: Currently, when Template:Cite tweet is employed for quotation, the resulting reference includes both (Tweet) and – via Twitter in the output (see Bobby Moynihan[1] tweet at Land Shark (Saturday Night Live)#Other appearances on SNL, "40th Anniversary Special").

Wouldn't including both the parenthetical and "via" constitute an redundancy (unless |via= parameter is employed for another website)? — CJDOS, Sheridan, OR (talk) 10:00, 3 November 2023 (UTC)

I agree. There isn't any reason to have both. Keep the "via" part as it is used by other places, like {{Cite Instagram}}. Gonnym (talk) 13:39, 3 November 2023 (UTC)
This requires removing Module:Cite tweet#L-26. Gonnym (talk) 13:42, 3 November 2023 (UTC)
|via= really isn't the correct parameter to be using here. |via= is to be used to indicate the name of the distributor when the source is delivered by an entity that is not the publisher. Because tweets are delivered from Twitter (the website) published by Twitter (the corporate entity), |via= does not identify a different distributor and so should not be used here. Because {{cite tweet}} is rendered by {{cite web}}, the correct fix is to delete line 26 and change line 25 to website = args.link == 'no' and 'Twitter' or '[[Twitter]]',.
Trappist the monk (talk) 14:16, 3 November 2023 (UTC)
That was my thought. Tweets may be deleted by Twitter, and so the Tweet may be referenced by another entity, such as a news source. "Via" should only be displayed when the parameter is included by the editor for that purpose, as Trappist the monk has described. — CJDOS, Sheridan, OR (talk) 17:05, 3 November 2023 (UTC)
I also think it would be fine to remove the |via= default, per CJDOS. SWinxy (talk) 17:43, 3 November 2023 (UTC)

References

"Context" parameter

I was wondering if it would be possible to add a |context variable for tweets with a Community Note attached? As far as I see, this is the only part of the template that's missing, and therefore isn't appropriate to be used for tweets with such a note, given the misrepresentation.

For context sake, I mean like this with the Readers added context part. I realise this isn't a priority, but thought I'd ask anyway.

Thank you to all who have developed and maintain this template, it's very useful.

PS - The |image parameter is missing from the Template parameters. CommunityNotesContributor (talk) 09:31, 23 November 2023 (UTC)

What would both look like as a citation? And why would one cite a tweet and its note? Since notes are exclusively pseudonymous and not WP:ABOUTSELF, they're not acceptable to cite. If you want to support a claim that a tweet has a community note on it, just cite the tweet (preferably with an archive link that shows the note). SWinxy (talk) 04:44, 25 November 2023 (UTC)
I guess it would look similar to a quote tweet, with the tweet being quoted being the "Readers added context they thought users might want to know", followed by the note information, if that makes any sense? Ultimately, it would "look like" a tweet with a note attached to it...
The reason to cite a tweet with it's note is because the tweet doesn't exist without it. If the idea is to cite the tweet on it's own, then there would be no need. If the idea is to visually represent the tweet, such as using the cite tweet template, it would be necessary.
I therefore don't think anyone should be using this template to cite a tweet with a note attached, as it would be a complete misrepresentation of that tweet. Not sure I understand your point about WP:ABOUTSELF. Using a |context parameter to show a note wouldn't be in order to cite a note, but to cite a tweet with a note, so the same guidelines apply. CommunityNotesContributor (talk) 15:39, 25 November 2023 (UTC)
I think I get what you mean, but that isn't the purpose of this template. So this template is to generate a citation to a specific tweet, not to recreate tweet itself (which may have media, quote retweeting another tweet, and/or a community note). It just happens to put the entire text of the tweet in the citation. The reason why we don't have those parameters you're suggesting—parameters for images, quote retweets, or a note added—is that the reader can navigate to the source and view those things. We just want to be able to unambiguously point to the source for any given claim.
You might be looking for Template:Tweet or Template:Quote tweet, which recreates a tweet visually. For the Hinkle situation, you probably can get away with using the quote tweet template, but neither can show an added note nor do they have place for a caption saying there's a note. The point you want to get across to the reader in that section is that he spreads misinformation on Twitter, and Haaretz QRTing him is excellent to show that. Either that, or the closing admin on my deletion discussion disagrees with me and keeps the image, or we ditch the visual altogether and rely on prose. SWinxy (talk) 22:44, 26 November 2023 (UTC)
Good points, well made. It'd be the Template:Cite_tweet and Template:Quote_tweet that would benefit from a |context parameter instead, given it's supposed to display "all relevant information about the tweet". I hadn't noticed the difference in templates.
As for the Hinkle screenshot, fundamentally it's not a "good image", given as a thumb it's illegible. The only reason I argued for it to remain is because I believe it to be eligible for non-free, not because I actually think it's a good image. I'm pedantic, I know.
You could also just remove it from the article based on the fact it looks bad, if you prefer. No objections from me and doubt there would be from others either. Although it's use under MOS:UPRIGHT is probably legit in fairness under "fine detail". CommunityNotesContributor (talk) 12:07, 27 November 2023 (UTC)

Generic author flag

Hello, some recent changes on CS1 here introduce checks for generic or invalid author names. These are useful changes, but since cite tweet is a wrapper for CS1, text in the user= field is being flagged incorrectly. For instance:

  • {{cite tweet |first=Zach |last=Cohen |user=ZcohenCNN |date=February 13, 2023 |title=Lorem ipsum dolor sit amet. |number=1625249963897679878 }}
  • Cohen, Zach [@ZcohenCNN] (February 13, 2023). "Lorem ipsum dolor sit amet" (Tweet) – via Twitter.

I raised this point on the CS1 talk page (linked above) and the discussion there included a proposed solution with author-mask, but the fix will have to come on the wrapper, not on the underlying CS1 template. Could someone please look into this?-Ich (talk) 08:56, 22 February 2023 (UTC)

This issue still persists. Article Alex Marson has this problem:
"Test" does not throw the generic name error but "CNNTonight" does.
Jiltedsquirrel (talk) 22:49, 29 July 2023 (UTC)
I've ran across this same error several times with CNN users, anytime "CNN" is included in the user parameter it throws the "generic name" error. I tried to force it with 'accept-this-as-written-markup' and it still wouldn't work. What I did was change it to cite web and author=@CNN and forced that through. Weird that it seems to happen with CNN and not other users (in my experience). Isaidnoway (talk) 15:25, 30 July 2023 (UTC)

numeric names

Adding this here as it is seems similar to the above issue, but I'm not certain. It is definitely similar to the previous discussion at Template talk:Cite tweet/Archive 2#Template-protected edit request on 8 March 2023. Adding the |user= value to |author= in {{cite web}} is now going to flag the citation with 'CS1 maint: numeric names: authors list' if there is a number in the |user=. See Help talk:Citation Style 1/Archive 92#module suite update 25–26 November 2023 for more details. - adamstom97 (talk) 02:23, 28 November 2023 (UTC)

Agreed, this seems to be the same issue by the author/user overlap. The |author-mask= approach suggested here should work but it would have to be implemented by someone who knows what she's doing.-Ich (talk) 12:21, 4 December 2023 (UTC)
Yes, we need a solution. For a live example, see Danbury Jr. Hat Tricks, which has two of these caused by |user=DanburyNA3HL. —Anomalocaris (talk) 11:18, 13 December 2023 (UTC)
I believe the correct solution is that {{Cite web}} needs to allow digits in authors. Template:Citation Style documentation says "author: this parameter is used to hold the name of an organizational author (e.g. a committee) ..." That would include, for example, The Jackson 5, OS/2 Development Team, Windows 95 Development Team, and thousands of other possible organizational authors that have digits. —Anomalocaris (talk) 11:37, 13 December 2023 (UTC)
All cs1|2 templates support markup that allows digits in author names. {{cite tweet}} is not a cs1|2 template but rather, is a wrapper template around {{cite web}} which it uses for rendering.
I offered a solution to the generic-name-text problem that you described at Template talk:Cite tweet/Archive 2 § Template-protected edit request on 8 March 2023. That offer yielded a resounding 'meh' of indifference but it will, if adopted, resolve this issue too.
Trappist the monk (talk) 14:44, 13 December 2023 (UTC)
@Trappist the monk: Your solution should be implemented I think. I'm not knowledgable in Lua enough to do it (I would have if I was), so if you are able, that seems the best step going forward. - Favre1fan93 (talk) 16:17, 14 December 2023 (UTC)
I have restored Module:Cite tweet/sandbox to my proposed solution. I have also made what I consider to be improvements to the sandbox:
  • implemented Module:Arguments so that any empty or missing parameters in the frame are set to nil before we might use them
  • removed the now unnecessary function _if()
  • removed support for |dead-url= and |deadurl= because these parameters are no longer supported by cs1|2
  • style tweaks (primarily lua table names (argsargs_t and the like)
See Template:Cite tweet/testcases
Here are some questions:
  • Why does {{cite tweet}} support |location=? That parameter is primarily used to identify the city of the publisher in a book citation; also used occasionally in {{cite news}} to disambiguate |newspaper=. Because twitter is an online source there really isn't a 'publication city'. Is this parameter necessary? When? This search finds about 80 articles that have {{cite tweet}} with |location=.
  • When a tweet was posted before November 4, 2010, and doesn't have |date=, the module imposes the (likely incorrect) date of November 4, 2010. Why? Surely this template should not be saying something in its own voice that likely isn't true.
  • When there are multiple error messages, the module wraps each individual message in <span class="cs1-visible-error citation-comment">...</span> tags. Why? The entire error message string can be wrapped in a single <span>...</span> tag.
Trappist the monk (talk) 15:44, 15 December 2023 (UTC)
Thank you Trappist! Your tweaks are really nice. The location parameter allows for adding in the location the tweet was made, if it was enabled. Anything before Nov 4, 2010 should not show the date, yeah, and the errors should be in one span. SWinxy (talk) 17:49, 15 December 2023 (UTC)
Ok, single error message span. When the template does not have |date= and the tweet was posted before 2023-11-04, the default date from Module:TwitterSnowflake is suppressed.
I guess that I'm not convinced of the |location= parameter's utility. If tweet posters are using that location-of-post functionality, I would expect to find the location that is named in our |location= parameter somewhere in the tweet. A random sampling of articles from this search did not turn up any such location-of-post notices – or I don't know what I'm looking for. And even if it does, how does including |location= improve the utility of a {{cite tweet}} citation?
Snowflake error messages are probably grammatically incorrect (I'm not an English major) and certainly awkward:
  • |date= mismatches calculated date from |number= by two or more days;
  • Missing or empty |date=, and posted before November 4, 2010;
Surely these can be written in a way that doesn't require a brain reset mid-sentence. Suggestions for better wording?
Trappist the monk (talk) 14:29, 16 December 2023 (UTC)
I think those messages read fine to me. An alternative for the second one: |date= required for posts before November 4, 2010;. SWinxy (talk) 18:56, 16 December 2023 (UTC)
Maybe I'm just picky but I think that error messages should be terse with links to documentation that can fully explain what they mean and what to do about them.
I have rewritten much (all?) of the error handling code so that a composite {{cite tweet}} error message is prefixed with the template name. This serves to notify editors where the message arises. I have replaced all of the old error messages with terse error messages (this will require someone to write text at Template:Cite tweet § Error detection to fully explain them). The live version of the template only acknowledges missing title cs1|2 errors but it ignores all other possible cs1|2 error messaging. I have fixed that in the sandbox.
The live version of the template strips the scheme from urls embedded in |title=. I have changed that to nowiki known schemes (https://, http://, ftp://) in |title=, |script-title=, and |trans-title=.
See Template:Cite tweet/testcases
Trappist the monk (talk) 17:12, 17 December 2023 (UTC)

Update to sandbox version

Is there any opposition to updating to the sandbox version? Rjjiii (talk) 07:26, 4 January 2024 (UTC)

I see above that the documentation was never updated for the template update. I've gone ahead and done this, in case that had caused the wait as I see some support and no objections to the sandbox version. GKFX, if you're okay with it, I'd like to go ahead with the sandbox update this week. If there are objections to the sandbox version, feel free to revert my changes to the documentation. Rjjiii (talk) 08:12, 4 January 2024 (UTC)
I think we should proceed. It fixes the issues we've been coming across due to the changes to the underlying CS/cite web module. - Favre1fan93 (talk) 17:04, 4 January 2024 (UTC)
Full send. SWinxy (talk) 17:19, 4 January 2024 (UTC)
Also, it looks like GKFX has been inactive since switching the template to lua. Does the template have a primary maintainer to ping? Nardog? Rjjiii (talk) 21:17, 4 January 2024 (UTC)
I mean, I've been here a while, and the last two edits to the module were from me. So, me? I guess? SWinxy (talk) 23:29, 4 January 2024 (UTC)
@SWinxy: Gotcha, I just didn't want to step on anyone's toes. Rjjiii (talk) 23:31, 4 January 2024 (UTC)
The template and documentation are both updated. And again if this causes some unforeseen issue, feel free to roll back. Rjjiii (talk) 23:46, 4 January 2024 (UTC)

What to do for empty titles

The title param is listed as required. However, what if the cited tweet has no text, just an image? I guess you could make something like "N/A" but any future automated check will likely get confused after that doesn't match the real text of the tweet. Is there a formal "None" option that's supported? If so, can it be added to the documentation? (Came up for this edit and this tweet if it matters... the kind of low-level personnel overturning that journalists won't write news stories about, so citing Twitter is legitimate in the first place.) SnowFire (talk) 05:26, 1 November 2023 (UTC)

afaik, under the hood, images are either t.co or pbs.twimg.com links in a tweet. Maybe somehow get that URL and put it as the title? I'm not sure how to get them now so it would be reasonable to remove the title requirement. SWinxy (talk) 15:27, 1 November 2023 (UTC)
The mandatroy title param should also be removed given how long tweets can be these days. It should just show the href'd text 'Tweet' if empty. Local Variable (talk) 03:45, 14 April 2024 (UTC)
Since I commented, I found the way to get the content: copy the embed code (three dots > Embed post) and paste only the tweet's contents. SWinxy (talk) 05:14, 14 April 2024 (UTC)

Date issue

Do I see this right that the date automatically derived from the Tweet ID cannot be overwritten? If so, that's a problem.

Consider the tweet with this ID: 1784604761263903165

The tweeter states: I am profoundly sad to share that my father, Emeritus Professor Sir Vincent O’Sullivan, died in Dunedin late yesterday (28 April)[1]

The Tweet was sent at 3:25am NZ time on 29 August. When I plug this into the reference template, it shows as being sent on 28 April, probably because at that time, it was still that date at Twitter HQ. However, the tweet's content now clashes with the date. Obviously, this is only correct when it shows as having been sent on 29 April, as the tweeter's father died on 28 April ("late yesterday (28 April)"). Can this please be fixed? I'd like the template to accept the correct date if that is what is specified through the date parameter.

Schwede66 06:24, 29 April 2024 (UTC)