Washington (CNN) President Donald Trump trashed former national security adviser John Bolton and handicapped the 2020 Democratic primary race as part of a wide-ranging off-the-record lunch with anchors from major news networks on Tuesday ahead of his State of the Union address , multiple sources have told CNN.

Like American presidents before him, Trump invited anchors from major news networks to dine with him at the White House in advance of his State of the Union address. The conversation is considered off the record, but CNN was excluded this year, and therefore did not agree to the mandate. Anchors from other news outlets did attend the lunch.

Asked for comment about discussions held between the President and those in attendance, White House press secretary Stephanie Grisham told CNN she would not comment on an "off the record lunch."

Trump complains about Bolton

Trump complained in front of the anchors about Bolton during the meal, two sources familiar with the discussion told CNN.

The President "ripped" Bolton for his performance during an interview with CBS' Margaret Brennan, when he said he was considering the so-called "Libya model" to deal with the North Korean regime, one of the sources told CNN. Libyan Leader Moammar Gadhafi was overthrown and killed by rebels backed by Washington.

Trump characterized Bolton as a turncoat who used his position inside the West Wing to try to advance himself rather than serve the President. And he mocked him for always wanting to be referred to as "ambassador," the person said.

Bolton is writing a book about his time in the White House and told the US Senate he would be willing to testify in Trump's impeachment trial if asked. A majority of senators in the Republican-controlled body voted against hearing any new testimony.

Trump said there should be a criminal penalty if Bolton publishes the book and he should not be allowed to use the ambassador title.

Iowa caucuses were a 'fiasco'

The President repeatedly referred to the delay in results for the Iowa caucuses as a "fiasco" during the meal with journalists, and spoke at some length about the candidates in the race, one source told CNN.

Trump called Sen. Bernie Sanders "nasty," but despite Joe Biden's apparent floundering in Iowa, he remained fixated on the former vice president and his perceived misdeeds in Ukraine, despite the lack of evidence of wrongdoing.

Trump spoke for a long time about Biden's son, Hunter, and his dealings with the Ukrainian energy company Burisma, characterizing both Bidens as corrupt, accusation that are at the heart of his impeachment trial.

He didn't have as much to say about former South Bend, Indiana, Mayor Pete Buttigieg, who he shrugged at and at whose appeal he claimed he didn't understand, the source said.

Trump also said during the meal that he would participate in the general election debates, the individual briefed on the discussion said.

According to The New York Times , the President has considered skipping general election debates for the 2020 campaign season. He's previously complained that the nonprofit Commission on Presidential Debates, which hosts the debates, is biased.

Awarding Rush Limbaugh with Medal of Freedom

The President told the anchors he will award conservative radio show host Rush Limbaugh with the Medal of Freedom in the coming months, one day after he announced he has advanced lung cancer.

Limbaugh has been a staunch ally of the President's for years, and dined with him at his Palm Beach golf club over the holidays this past year. Once, during an event in the Rose Garden of the White House, Trump praised Limbaugh as someone who "can speak for three hours without a phone call."

Limbaugh has been hosting "The Rush Limbaugh Show" for 31 years.

People close to Trump say he personally enjoys granting his friends the nation's highest civilian honor. He bestowed the award upon seven recipients in 2019, and several more the year prior.

Venezuela's Guaido attending State of the Union

Trump told the anchors that Venezuelan opposition leader Juan Guaido will be his unannounced guest at the State of the Union Tuesday night, according to a source familiar with the lunch.

A second source familiar with the planning also confirmed Guaido would attend the speech.

Earlier the White House announced another guest from Venezuela, the former Chief of Police of Caracas Ivan Simonovis, who is a Guaido ally and had been imprisoned under the Chavez and Maduro regimes.

It's been reported that forces loyal to Guaido secretly helped Simonovis escape prison last year and make his way out of Venezuela and to the US where he has sought asylum.

Iran and the economy

The President told attendees at the lunch that the US was closer to war with Iran than they had thought.

Right after the US killed Iran's military commander General Qasem Soleimani in an airstrike in Baghdad in early January, Trump suggested there was intelligence that Soleimani was looking to blow up a US embassy.

Iran retaliated for the killing by attacking a base housing US forces in Iraq, but the two countries have since deescalated tensions.

Trump also bragged about his poll numbers and the state of the economy, another person familiar with the discussions said. They also said Trump was critical of Federal Reserve Chairman Jay Powell.